diff --git a/Android.mk b/Android.mk
index d70d1ce..2eb779a 100644
--- a/Android.mk
+++ b/Android.mk
@@ -8,6 +8,8 @@
 LOCAL_PACKAGE_NAME := Settings
 LOCAL_CERTIFICATE := platform
 
+LOCAL_PROGUARD_FLAGS := -include $(LOCAL_PATH)/proguard.flags
+
 include $(BUILD_PACKAGE)
 
 # Use the folloing include to make our test apk.
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 1dacea4..2885390 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -49,8 +49,7 @@
 
         <activity android:name="Settings" android:label="@string/settings_label"
                 android:taskAffinity="com.android.settings"
-                android:clearTaskOnLaunch="true"
-                android:launchMode="singleTop">
+                android:theme="@android:style/Theme.WithActionBar">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.settings.SETTINGS" />
@@ -68,8 +67,9 @@
 
         <!-- Wireless Controls -->
 
-        <activity android:name="WirelessSettings"
+        <activity-alias android:name="WirelessSettings"
                 android:label="@string/wireless_networks_settings_title"
+                android:targetActivity="Settings"
                 >
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
@@ -78,15 +78,16 @@
                 <category android:name="android.intent.category.DEFAULT" />
                 <category android:name="android.intent.category.VOICE_LAUNCH" />
             </intent-filter>
-        </activity>
+        </activity-alias>
 
 
         <!-- Top-level settings -->
 
-        <activity android:name=".wifi.WifiSettings"
+        <activity-alias android:name=".wifi.WifiSettings"
                 android:label="@string/wifi_settings"
                 android:configChanges="orientation|keyboardHidden"
                 android:clearTaskOnLaunch="true"
+                android:targetActivity="Settings"
                 >
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
@@ -96,7 +97,7 @@
                 <category android:name="android.intent.category.VOICE_LAUNCH" />
                 <category android:name="com.android.settings.SHORTCUT" />
             </intent-filter>
-        </activity>
+        </activity-alias>
 
         <activity android:name=".wifi.AdvancedSettings"
                 android:label="@string/wifi_ip_settings_titlebar"
@@ -205,7 +206,9 @@
                 android:configChanges="orientation|keyboardHidden">
         </activity>
 
-        <activity android:name="DateTimeSettings" android:label="@string/date_and_time"
+        <activity-alias android:name="DateTimeSettings"
+                android:label="@string/date_and_time"
+                android:targetActivity="Settings"
                 >
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
@@ -213,7 +216,7 @@
                 <category android:name="android.intent.category.VOICE_LAUNCH" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
-        </activity>
+        </activity-alias>
 
         <activity android:name="DateTimeSettingsSetupWizard" android:label="@string/date_and_time"
             android:screenOrientation="portrait">
@@ -222,24 +225,22 @@
             </intent-filter>
         </activity>
 
-        <activity android:name="LocalePicker" android:label="@string/language_picker_title">
+        <activity-alias android:name="LocalePicker"
+                        android:label="@string/language_picker_title"
+                        android:clearTaskOnLaunch="true"
+                        android:targetActivity="Settings">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.settings.LOCALE_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
                 <category android:name="android.intent.category.VOICE_LAUNCH" />
             </intent-filter>
-        </activity>
+        </activity-alias>
 
-        <activity android:name="LocalePickerInSetupWizard" android:label="@string/language_picker_title">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-            </intent-filter>
-        </activity>
-
-        <activity android:name="LanguageSettings"
+        <activity-alias android:name="LanguageSettings"
                 android:label="@string/language_keyboard_settings_title"
                 android:clearTaskOnLaunch="true"
+                android:targetActivity="Settings"
                 >
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
@@ -248,7 +249,7 @@
                 <category android:name="android.intent.category.DEFAULT" />
                 <category android:name="com.android.settings.SHORTCUT" />
             </intent-filter>
-        </activity>
+        </activity-alias>
 
         <activity android:name="PhysicalKeyboardSettings"
                 android:label="@string/builtin_keyboard_settings_title">
@@ -271,9 +272,10 @@
             </intent-filter>
         </activity>
 
-        <activity android:name="SoundSettings"
+        <activity-alias android:name="SoundSettings"
                 android:label="@string/sound_settings"
                 android:clearTaskOnLaunch="true"
+                android:targetActivity="Settings"
                 >
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
@@ -283,10 +285,11 @@
                 <category android:name="android.intent.category.VOICE_LAUNCH" />
                 <category android:name="com.android.settings.SHORTCUT" />
             </intent-filter>
-        </activity>
+        </activity-alias>
 
-        <activity android:name="DisplaySettings"
+        <activity-alias android:name="DisplaySettings"
                 android:label="@string/display_settings"
+                android:targetActivity="Settings"
                 android:clearTaskOnLaunch="true"
                 >
             <intent-filter>
@@ -297,11 +300,12 @@
                 <category android:name="android.intent.category.VOICE_LAUNCH" />
                 <category android:name="com.android.settings.SHORTCUT" />
             </intent-filter>
-        </activity>
+        </activity-alias>
 
-        <activity android:name="DockSettings"
+        <activity-alias android:name="DockSettings"
                 android:label="@string/dock_settings_title"
                 android:clearTaskOnLaunch="true"
+                android:targetActivity="Settings"
                 >
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
@@ -310,9 +314,11 @@
                 <category android:name="android.intent.category.VOICE_LAUNCH" />
                 <category android:name="com.android.settings.SHORTCUT" />
             </intent-filter>
-        </activity>
+        </activity-alias>
 
-        <activity android:name="DeviceInfoSettings" android:label="@string/device_info_settings"
+        <activity-alias android:name="DeviceInfoSettings"
+                android:label="@string/device_info_settings"
+                android:targetActivity="Settings"
                 >
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
@@ -320,7 +326,7 @@
                 <category android:name="android.intent.category.DEFAULT" />
                 <category android:name="android.intent.category.VOICE_LAUNCH" />
             </intent-filter>
-        </activity>
+        </activity-alias>
 
         <activity android:name="SettingsLicenseActivity"
                 android:label="@string/settings_license_activity_title"
@@ -340,7 +346,9 @@
             </intent-filter>
         </activity>
 
-        <activity android:name="ApplicationSettings" android:label="@string/applications_settings_header"
+        <activity-alias android:name="ApplicationSettings"
+                android:label="@string/applications_settings_header"
+                android:targetActivity="Settings"
                 >
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
@@ -348,7 +356,7 @@
                 <category android:name="android.intent.category.DEFAULT" />
                 <category android:name="android.intent.category.VOICE_LAUNCH" />
             </intent-filter>
-        </activity>
+        </activity-alias>
 
         <activity android:name=".applications.ManageApplications"
                   android:label="@string/manageapplications_settings_title"
@@ -411,9 +419,10 @@
                 android:label="@string/runningservicedetails_settings_title">
         </activity>
 
-        <activity android:name="SecuritySettings"
+        <activity-alias android:name="SecuritySettings"
                 android:label="@string/location_security_settings_title"
                 android:configChanges="orientation|keyboardHidden"
+                android:targetActivity="Settings"
                 android:clearTaskOnLaunch="true"
                 >
             <intent-filter>
@@ -425,7 +434,7 @@
                 <category android:name="android.intent.category.VOICE_LAUNCH" />
                 <category android:name="com.android.settings.SHORTCUT" />
             </intent-filter>
-        </activity>
+        </activity-alias>
 
         <activity android:name="CredentialInstaller"
                 android:theme="@android:style/Theme.Translucent.NoTitleBar">
@@ -435,10 +444,11 @@
             </intent-filter>
         </activity>
 
-        <activity android:name="PrivacySettings"
+        <activity-alias android:name="PrivacySettings"
                 android:label="@string/privacy_settings_title"
                 android:configChanges="orientation|keyboardHidden"
                 android:clearTaskOnLaunch="true"
+                android:targetActivity="Settings"
                 >
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
@@ -446,7 +456,7 @@
                 <category android:name="android.intent.category.DEFAULT" />
                 <category android:name="android.intent.category.VOICE_LAUNCH" />
             </intent-filter>
-        </activity>
+        </activity-alias>
 
         <activity android:name="DeviceAdminSettings"
                 android:label="@string/device_admin_settings_title"
@@ -481,8 +491,9 @@
             </intent-filter>
         </activity>
 
-        <activity android:name="AccessibilitySettings"
-                android:label="@string/accessibility_settings_title">
+        <activity-alias android:name="AccessibilitySettings"
+                android:label="@string/accessibility_settings_title"
+                android:targetActivity="Settings">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.settings.ACCESSIBILITY_SETTINGS" />
@@ -491,16 +502,17 @@
                 <category android:name="android.intent.category.DEFAULT" />
                 <category android:name="android.intent.category.VOICE_LAUNCH" />
             </intent-filter>
-        </activity>
+        </activity-alias>
 
-        <activity android:name="VoiceInputOutputSettings"
-                android:label="@string/voice_input_output_settings">
+        <activity-alias android:name="VoiceInputOutputSettings"
+                android:label="@string/voice_input_output_settings"
+                android:targetActivity="Settings">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="com.android.settings.VOICE_INPUT_OUTPUT_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
-        </activity>
+        </activity-alias>
 
         <activity android:name="TextToSpeechSettings" android:label="@string/tts_settings">
             <intent-filter>
@@ -554,7 +566,8 @@
             </intent-filter>
         </activity>
 
-        <activity android:name=".deviceinfo.Memory"
+        <activity-alias android:name=".deviceinfo.Memory"
+                android:targetActivity="Settings"
                 android:label="@string/storage_settings_title">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
@@ -563,7 +576,7 @@
                 <category android:name="android.intent.category.DEFAULT" />
                 <category android:name="android.intent.category.VOICE_LAUNCH" />
             </intent-filter>
-        </activity>
+        </activity-alias>
 
         <activity android:name="ApnEditor" android:label="@string/apn_edit">
             <intent-filter>
@@ -729,11 +742,10 @@
             </intent-filter>
         </activity>
 
-        <activity android:name="ProxySelector" android:label="@string/proxy_settings_label"
-                android:theme="@android:style/Theme.Dialog">
+        <activity android:name="ProxySelector" android:label="@string/proxy_settings_label">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.DEVELOPMENT_PREFERENCE" />
+                <category android:name="android.intent.category.DEFAULT" />
                 <category android:name="android.intent.category.VOICE_LAUNCH" />
             </intent-filter>
         </activity>
diff --git a/proguard.flags b/proguard.flags
new file mode 100644
index 0000000..0e1b428
--- /dev/null
+++ b/proguard.flags
@@ -0,0 +1,6 @@
+# Keep all Fragments in this package, which are used by reflection.
+-keep class com.android.settings.*Fragment
+-keep class com.android.settings.*Picker
+-keep class com.android.settings.*Settings
+-keep class com.android.settings.wifi.*Settings
+-keep class com.android.settings.deviceinfo.*
diff --git a/res/drawable-hdpi/ic_power_system.png b/res/drawable-hdpi/ic_power_system.png
new file mode 100644
index 0000000..5e7cf99
--- /dev/null
+++ b/res/drawable-hdpi/ic_power_system.png
Binary files differ
diff --git a/res/drawable/ic_power_system.png b/res/drawable-mdpi/ic_power_system.png
similarity index 100%
rename from res/drawable/ic_power_system.png
rename to res/drawable-mdpi/ic_power_system.png
Binary files differ
diff --git a/res/layout-xlarge/settings_top_level.xml b/res/layout-xlarge/settings_top_level.xml
new file mode 100644
index 0000000..09590b1
--- /dev/null
+++ b/res/layout-xlarge/settings_top_level.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2010 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Top-level Settings layout with fragments. -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="horizontal"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+    <fragment class="com.android.settings.Settings$TopLevelSettings"
+            android:id="@+id/top_level"
+            android:layout_width="0px"
+            android:layout_height="match_parent"
+            android:layout_weight=".4" 
+            android:layout_marginRight="10dp"/>
+    <FrameLayout android:id="@+id/prefs"
+            android:layout_width="0px"
+            android:layout_height="match_parent"
+            android:layout_weight=".6" />
+</LinearLayout>
diff --git a/res/layout/locale_picker.xml b/res/layout/locale_picker.xml
index cc38278..7fef2ff 100644
--- a/res/layout/locale_picker.xml
+++ b/res/layout/locale_picker.xml
@@ -19,10 +19,10 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent">
 
-    <ListView android:id="@android:id/list"
+    <fragment
+        android:id="@+id/locale_picker_fragment"
+        android:name="com.android.settings.LocalePickerFragment"
         android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:drawSelectorOnTop="false"
-    />
-
+        android:layout_height="0dip"
+        android:layout_weight="1" />
 </LinearLayout>
diff --git a/res/layout/locale_picker_in_setupwizard.xml b/res/layout/locale_picker_in_setupwizard.xml
deleted file mode 100644
index d816f47..0000000
--- a/res/layout/locale_picker_in_setupwizard.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2008 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-  
-          http://www.apache.org/licenses/LICENSE-2.0
-  
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:orientation="vertical"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-    
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:text="@string/select_your_language"
-        android:layout_gravity="center_horizontal"
-        android:paddingBottom="10dip"
-        android:textAppearance="?android:attr/textAppearanceLarge"
-    />
-    
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1dip"
-        android:layout_marginTop="8dip"
-        android:background="@android:drawable/divider_horizontal_dark"
-    />
-
-    <ListView android:id="@android:id/list"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:drawSelectorOnTop="false"
-    />
-
-</LinearLayout>
diff --git a/res/layout/preference_icon.xml b/res/layout/preference_icon.xml
index e51a73b..51612ce 100644
--- a/res/layout/preference_icon.xml
+++ b/res/layout/preference_icon.xml
@@ -21,7 +21,7 @@
     android:id="@+android:id/widget_frame"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:minHeight="?android:attr/listPreferredItemHeight"
+    android:minHeight="56dp"
     android:gravity="center_vertical"
     android:paddingRight="?android:attr/scrollbarSize">
     
diff --git a/res/layout/proxy.xml b/res/layout/proxy.xml
index 3ecbb80..76f200e 100644
--- a/res/layout/proxy.xml
+++ b/res/layout/proxy.xml
@@ -22,7 +22,8 @@
     android:paddingLeft="6dip"
     android:paddingRight="6dip"
     android:paddingBottom="3dip"
-    android:layout_width="match_parent" android:layout_height="wrap_content">
+    android:layout_width="match_parent" android:layout_height="wrap_content"
+    android:scrollbars="vertical" >
 
     <TextView
         android:textStyle="bold"
@@ -46,11 +47,27 @@
         android:layout_width="wrap_content" android:layout_height="wrap_content"
         android:text="@string/proxy_port_label" />
 
-    <EditText android:id="@+id/port" 
+    <EditText android:id="@+id/port"
         android:numeric="integer"
+        android:maxLines="1"
+        android:layout_marginTop="2dip"
+        android:layout_width="match_parent" android:layout_height="wrap_content"
+        android:scrollHorizontally="true" />
+
+    <TextView
+        android:textStyle="bold"
+        android:maxLines="1"
+        android:layout_marginTop="4dip"
+        android:layout_width="wrap_content" android:layout_height="wrap_content"
+        android:text="@string/proxy_exclusionlist_label" />
+
+    <EditText android:id="@+id/exclusionlist"
         android:maxLines="1" 
         android:layout_marginTop="2dip"
         android:layout_width="match_parent" android:layout_height="wrap_content"
+        android:autoText="false"
+        android:capitalize="none"
+        android:singleLine="true"
         android:scrollHorizontally="true" />
 
     <LinearLayout 
diff --git a/res/layout/settings_top_level.xml b/res/layout/settings_top_level.xml
new file mode 100644
index 0000000..b029915
--- /dev/null
+++ b/res/layout/settings_top_level.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2010 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Top-level Settings layout with fragments. -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+    <FrameLayout android:id="@+id/prefs"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            />
+
+    <!-- button_bar -->
+    <RelativeLayout android:id="@+id/button_bar"
+        android:layout_height="wrap_content"
+        android:layout_width="match_parent"
+        android:layout_weight="0"
+        android:background="@android:drawable/bottom_bar"
+        android:visibility="gone">
+
+        <Button android:id="@+id/back_button"
+            android:layout_width="150dip"
+            android:layout_height="wrap_content"
+            android:layout_margin="5dip"
+            android:layout_alignParentLeft="true"
+            android:drawablePadding="3dip"
+        />
+        <LinearLayout
+            android:orientation="horizontal"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_alignParentRight="true">
+
+            <Button android:id="@+id/skip_button"
+                android:layout_width="150dip"
+                android:layout_height="wrap_content"
+                android:layout_margin="5dip"
+                android:text="@string/skip_button_label"
+                android:visibility="gone"
+            />
+
+            <Button android:id="@+id/next_button"
+                android:layout_width="150dip"
+                android:layout_height="wrap_content"
+                android:layout_margin="5dip"
+                android:drawableRight="@drawable/ic_btn_next"
+                android:drawablePadding="3dip"
+                android:text="@string/next_button_label"
+            />
+        </LinearLayout>
+    </RelativeLayout>
+</LinearLayout>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index fc7e85d..28fa0c0 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -130,14 +130,23 @@
     <string name="intent_sender_startactivity_text" msgid="5080516029580421895">"Spustit činnost <xliff:g id="ACTIVITY">activity</xliff:g>"</string>
     <string name="intent_sender_resource_label" msgid="6963659726895482829">"<xliff:g id="RESOURCE">Resource</xliff:g>:"</string>
     <string name="intent_sender_account_label" msgid="465210404475603404">"Účet:"</string>
+    <!-- no translation found for proxy_settings_title (6262282922722097473) -->
+    <skip />
+    <!-- no translation found for proxy_settings_summary (7898928000758321486) -->
+    <skip />
     <string name="proxy_clear_text" msgid="5555400754952012657">"Vymazat"</string>
     <string name="proxy_port_label" msgid="2623639656638472491">"Port"</string>
+    <!-- no translation found for proxy_exclusionlist_label (204409815790850313) -->
+    <skip />
     <string name="proxy_defaultView_text" msgid="6387985519141433291">"Obnovit výchozí nastavení"</string>
-    <string name="proxy_action_text" msgid="477348175123635416">"Uložit"</string>
+    <!-- no translation found for proxy_action_text (2957063145357903951) -->
+    <skip />
     <string name="proxy_hostname_label" msgid="7531298584350977540">"Název hostitele"</string>
     <string name="proxy_error" msgid="8926675299638611451">"Upozornění"</string>
     <string name="proxy_error_dismiss" msgid="4993171795485460060">"OK"</string>
     <string name="proxy_error_invalid_host" msgid="9120776460063182119">"Zadaný název hostitele není platný."</string>
+    <!-- no translation found for proxy_error_invalid_exclusion_list (4753810662233875893) -->
+    <skip />
     <string name="proxy_error_empty_port" msgid="3525734169948795417">"Je třeba vyplnit pole port."</string>
     <string name="proxy_error_empty_host_set_port" msgid="2451694104858226781">"Pokud je pole hostitel prázdné, musí být prázdné i pole port."</string>
     <string name="proxy_error_invalid_port" msgid="1816315605424943626">"Zadaný port není platný."</string>
@@ -189,8 +198,7 @@
     <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"Vyhledávání mediálních souborů na kartě SD..."</string>
     <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"Karta SD byla připojena pouze pro čtení."</string>
     <string name="next_label" msgid="4693520878012668114">"Další"</string>
-    <string name="language_picker_title" msgid="4034157617842965844">"Národní prostředí"</string>
-    <string name="select_your_language" msgid="1146235168951906084">"Zvolte jazyk"</string>
+    <string name="language_picker_title" msgid="5349877711342869319">"Jazyk"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Zvolit činnost"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Info o zařízení"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Info o baterii"</string>
@@ -257,15 +265,41 @@
     <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Změnit bezpečnostní heslo"</string>
     <string name="lockpassword_password_too_short" msgid="7328975683669256660">"Heslo musí obsahovat nejméně %d znaků"</string>
     <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"Kód PIN musí obsahovat nejméně %d znaků"</string>
-    <string name="lockpassword_press_continue" msgid="6506047902828925216">"Po dokončení stiskněte tlačítko Pokračovat"</string>
+    <string name="lockpassword_press_continue" msgid="122706614386757182">"Po dokončení se dotkněte tlačítka Pokračovat"</string>
     <string name="lockpassword_continue_label" msgid="4602203784934526940">"Pokračovat"</string>
     <string name="lockpassword_password_too_long" msgid="7354418473281442589">"Kód PIN nemůže obsahovat více než %d číslic"</string>
     <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"Kód PIN nemůže obsahovat více než %d číslic"</string>
     <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"Kód PIN musí obsahovat pouze číslice 0 až 9."</string>
+    <string name="lockpassword_pin_recently_used" msgid="2729073062730842496">"Správce zařízení nepovoluje použít nedávno použitý PIN"</string>
     <string name="lockpassword_illegal_character" msgid="6204396794254688549">"Heslo obsahuje neplatný znak"</string>
     <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"Heslo musí obsahovat nejméně jedno písmeno."</string>
     <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"Heslo musí obsahovat nejméně jednu číslici."</string>
     <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"Heslo musí obsahovat nejméně jeden symbol."</string>
+  <plurals name="lockpassword_password_requires_letters">
+    <item quantity="one" msgid="1462968118065694590">"Heslo musí obsahovat nejméně jedno písmeno"</item>
+    <item quantity="other" msgid="7278096339907683541">"Heslo musí obsahovat nejméně %d písmen"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_lowercase">
+    <item quantity="one" msgid="2048653993044269649">"Heslo musí obsahovat nejméně jedno malé písmeno"</item>
+    <item quantity="other" msgid="588499075580432178">"Heslo musí obsahovat nejméně %d malých písmen"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_uppercase">
+    <item quantity="one" msgid="7677454174080582601">"Heslo musí obsahovat nejméně jedno velké písmeno"</item>
+    <item quantity="other" msgid="2183090598541826806">"Heslo musí obsahovat nejméně %d velkých písmen"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_numeric">
+    <item quantity="one" msgid="8585088032818933985">"Heslo musí obsahovat nejméně jednu číslici"</item>
+    <item quantity="other" msgid="995673409754935278">"Heslo musí obsahovat nejméně %d číslic"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_symbols">
+    <item quantity="one" msgid="3930886641317826293">"Heslo musí obsahovat nejméně jeden zvláštní symbol"</item>
+    <item quantity="other" msgid="3047460862484105274">"Heslo musí obsahovat nejméně %d zvláštních symbolů"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_nonletter">
+    <item quantity="one" msgid="1716355580615489062">"Heslo musí obsahovat nejméně jeden znak jiný než písmeno"</item>
+    <item quantity="other" msgid="5574191164708145973">"Heslo musí obsahovat nejméně %d nepísmenných znaků"</item>
+  </plurals>
+    <string name="lockpassword_password_recently_used" msgid="2739642871806935825">"Správce zařízení nepovoluje použít nedávno použité heslo"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Zrušit"</string>
     <string name="device_admin_title" msgid="3562216873644263804">"Správa zařízení"</string>
@@ -303,9 +337,15 @@
     <string name="bluetooth_profile_a2dp" msgid="3259633293424539529">"Média"</string>
     <string name="bluetooth_profile_headset" msgid="1874975688666658946">"Telefon"</string>
     <string name="bluetooth_profile_opp" msgid="3799470046565284440">"Přenos"</string>
+    <string name="bluetooth_profile_hid" msgid="3000858580917633478">"Vstupní zařízení"</string>
+    <!-- no translation found for bluetooth_profile_pan (4225813400648547154) -->
+    <skip />
     <string name="bluetooth_summary_connected_to_a2dp" msgid="510833839847758664">"Připojeno ke zvukovému médiu"</string>
     <string name="bluetooth_summary_connected_to_headset" msgid="4876496372728623918">"Připojeno k náhlavní soupravě"</string>
     <string name="bluetooth_summary_connected_to_a2dp_headset" msgid="3045032710457800891">"Připojeno k náhlavní soupravě a zvukovému médiu"</string>
+    <string name="bluetooth_summary_connected_to_hid" msgid="8147499644396475561">"Připojeno ke vstupnímu zařízení"</string>
+    <!-- no translation found for bluetooth_summary_connected_to_pan (3157622705092537266) -->
+    <skip />
     <string name="bluetooth_device_advanced_title" msgid="528816860793581131">"Možnosti zařízení <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="bluetooth_device_advanced_online_mode_title" msgid="3689050071425683114">"Připojit"</string>
     <string name="bluetooth_device_advanced_online_mode_summary" msgid="1204424107263248336">"Umožňuje připojení zařízení s rozhraním Bluetooth"</string>
@@ -314,9 +354,13 @@
     <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Připojeno k náhlavní soupravě"</string>
     <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Připojeno k serveru pro přenos dat"</string>
     <string name="bluetooth_opp_profile_summary_not_connected" msgid="1267091356089086285">"Nepřipojeno k serveru pro přenos souborů"</string>
+    <string name="bluetooth_hid_profile_summary_connected" msgid="3381760054215168689">"Připojeno ke vstupnímu zařízení"</string>
+    <!-- no translation found for bluetooth_pan_profile_summary_connected (7456487225516323485) -->
+    <skip />
     <string name="bluetooth_a2dp_profile_summary_use_for" msgid="4630849022250168427">"Umožňuje připojení zvukového média"</string>
     <string name="bluetooth_headset_profile_summary_use_for" msgid="8705753622443862627">"Umožňuje připojení náhlavní soupravy"</string>
     <string name="bluetooth_opp_profile_summary_use_for" msgid="1255674547144769756">"Použít pro přenos souborů"</string>
+    <string name="bluetooth_hid_profile_summary_use_for" msgid="232727040453645139">"Použít pro vstup"</string>
     <string name="bluetooth_dock_settings" msgid="3218335822716052885">"Nastavení doku"</string>
     <string name="bluetooth_dock_settings_title" msgid="5543069893044375188">"Použít zvuk doku"</string>
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Jako telefon pro hlasitý poslech"</string>
@@ -496,8 +540,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"Stav"</string>
     <string name="device_status" msgid="607405385799807324">"Stav"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Telefonní číslo, signál, atd."</string>
-    <string name="storage_settings" msgid="6681164315506788024">"Karta SD a paměť telefonu"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"Nastavení karty SD a paměti telefonu"</string>
+    <!-- no translation found for storage_settings (4211799979832404953) -->
+    <skip />
+    <!-- no translation found for storage_settings_title (8746016738388094064) -->
+    <skip />
     <string name="storage_settings_summary" msgid="9176693537325988610">"Umožňuje odpojit kartu SD a zobrazit dostupnou paměť"</string>
     <string name="status_number" msgid="5123197324870153205">"Moje telefonní číslo"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
@@ -588,12 +634,27 @@
     <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>
+    <!-- no translation found for tether_settings_title_usb (6688416425801386511) -->
+    <skip />
     <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>
+    <!-- no translation found for tether_settings_title_bluetooth (355855408317564420) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_usb_bluetooth (5355828977109785001) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_all (8356136101061143841) -->
+    <skip />
     <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>
+    <!-- no translation found for tether_settings_summary_bluetooth (4363059913219151114) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_wifi (3700323208282018772) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_bluetooth (4008195891276675882) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_wifi_bluetooth (2753904149495692201) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_all (1171769255924636665) -->
+    <skip />
     <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,6 +662,24 @@
     <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>
+    <!-- no translation found for bluetooth_tether_checkbox_text (2379175828878753652) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_available_subtext (3317112145693933963) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_connected_subtext (893888246368164894) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_off_subtext (1798863866978968964) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_errored_subtext (1344187103463073993) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_overflow_error (2222060504731415763) -->
+    <skip />
+    <!-- no translation found for bluetooth_untether_blank (2871192409329334813) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_text (2273368767599539525) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_subtext (5970033999897946708) -->
+    <skip />
     <string name="tethering_help_button_text" msgid="656117495547173630">"Nápověda"</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>
@@ -824,6 +903,7 @@
     <string name="quick_launch_display_mode_applications" msgid="3748789806447639039">"Aplikace"</string>
     <string name="quick_launch_display_mode_shortcuts" msgid="4177934019174169042">"Zástupce"</string>
     <string name="input_methods_settings_title" msgid="6800066636850553887">"Zadávání textu"</string>
+    <string name="input_method" msgid="5434026103176856164">"Metoda zadávání dat"</string>
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Správa možností zadávání textu"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"Nastavení modulu <xliff:g id="IME_NAME">%1$s</xliff:g>"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Nastavení klávesnice na obrazovce"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index ec800cd..bf26d17 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -130,14 +130,23 @@
     <string name="intent_sender_startactivity_text" msgid="5080516029580421895">"Start <xliff:g id="ACTIVITY">activity</xliff:g>"</string>
     <string name="intent_sender_resource_label" msgid="6963659726895482829">"<xliff:g id="RESOURCE">Resource</xliff:g>:"</string>
     <string name="intent_sender_account_label" msgid="465210404475603404">"Konto:"</string>
+    <!-- no translation found for proxy_settings_title (6262282922722097473) -->
+    <skip />
+    <!-- no translation found for proxy_settings_summary (7898928000758321486) -->
+    <skip />
     <string name="proxy_clear_text" msgid="5555400754952012657">"Ryd"</string>
     <string name="proxy_port_label" msgid="2623639656638472491">"Port"</string>
+    <!-- no translation found for proxy_exclusionlist_label (204409815790850313) -->
+    <skip />
     <string name="proxy_defaultView_text" msgid="6387985519141433291">"Gendan standarder"</string>
-    <string name="proxy_action_text" msgid="477348175123635416">"Gem"</string>
+    <!-- no translation found for proxy_action_text (2957063145357903951) -->
+    <skip />
     <string name="proxy_hostname_label" msgid="7531298584350977540">"Værtsnavn"</string>
     <string name="proxy_error" msgid="8926675299638611451">"Bemærk"</string>
     <string name="proxy_error_dismiss" msgid="4993171795485460060">"OK"</string>
     <string name="proxy_error_invalid_host" msgid="9120776460063182119">"Det indtastede værtsnavn er ikke gyldigt."</string>
+    <!-- no translation found for proxy_error_invalid_exclusion_list (4753810662233875893) -->
+    <skip />
     <string name="proxy_error_empty_port" msgid="3525734169948795417">"Du skal udfylde portfeltet."</string>
     <string name="proxy_error_empty_host_set_port" msgid="2451694104858226781">"Portfeltet skal være tomt, hvis værtsfeltet er tomt."</string>
     <string name="proxy_error_invalid_port" msgid="1816315605424943626">"Den indtastede port er ikke gyldig."</string>
@@ -189,8 +198,7 @@
     <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"Scanner SD-kort efter medier ..."</string>
     <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"SD-kortet er monteret som skrivebeskyttet"</string>
     <string name="next_label" msgid="4693520878012668114">"Næste"</string>
-    <string name="language_picker_title" msgid="4034157617842965844">"Landestandard"</string>
-    <string name="select_your_language" msgid="1146235168951906084">"Vælg dit sprog"</string>
+    <string name="language_picker_title" msgid="5349877711342869319">"Sprog"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Vælg aktivitet"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Enhedsoplysninger"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Batterioplysninger"</string>
@@ -257,15 +265,41 @@
     <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Skift adgangskode til at låse op"</string>
     <string name="lockpassword_password_too_short" msgid="7328975683669256660">"Adgangskoden skal være på mindst %d tegn"</string>
     <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"Pinkoden skal være på mindst %d tegn"</string>
-    <string name="lockpassword_press_continue" msgid="6506047902828925216">"Tryk på Fortsæt, når du er færdig"</string>
+    <string name="lockpassword_press_continue" msgid="122706614386757182">"Tryk på Fortsæt, når du er færdig"</string>
     <string name="lockpassword_continue_label" msgid="4602203784934526940">"Fortsæt"</string>
     <string name="lockpassword_password_too_long" msgid="7354418473281442589">"Pinkoden kan ikke være længere end %d cifre"</string>
     <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"PIN-koden kan ikke være længere end %d cifre"</string>
     <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"Pinkoden må kun indeholde cifrene 0-9"</string>
+    <string name="lockpassword_pin_recently_used" msgid="2729073062730842496">"Enhedens administrator tillader ikke brug af nylig pinkode"</string>
     <string name="lockpassword_illegal_character" msgid="6204396794254688549">"Adgangskoden indeholder et ulovligt tegn"</string>
     <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"Adgangskoden skal indeholde mindst ét bogstav."</string>
     <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"Adgangskoden skal indeholde mindst ét tal"</string>
     <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"Adgangskoden skal indeholde mindst ét symbol."</string>
+  <plurals name="lockpassword_password_requires_letters">
+    <item quantity="one" msgid="1462968118065694590">"Adgangskoden skal indeholde mindst ét bogstav."</item>
+    <item quantity="other" msgid="7278096339907683541">"Adgangskoden skal indeholde mindst %d bogstaver"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_lowercase">
+    <item quantity="one" msgid="2048653993044269649">"Adgangskoden skal indeholde mindst 1 lille bogstav."</item>
+    <item quantity="other" msgid="588499075580432178">"Adgangskoden skal indeholde mindst %d små bogstaver"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_uppercase">
+    <item quantity="one" msgid="7677454174080582601">"Adgangskoden skal indeholde mindst ét stort bogstav."</item>
+    <item quantity="other" msgid="2183090598541826806">"Adgangskoden skal indeholde mindst %d store bogstaver"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_numeric">
+    <item quantity="one" msgid="8585088032818933985">"Adgangskoden skal indeholde mindst 1 tal"</item>
+    <item quantity="other" msgid="995673409754935278">"Adgangskoden skal indeholde mindst %d tal"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_symbols">
+    <item quantity="one" msgid="3930886641317826293">"Adgangskoden skal indeholde mindst ét specialtegn."</item>
+    <item quantity="other" msgid="3047460862484105274">"Adgangskoden skal indeholde mindst %d symboler"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_nonletter">
+    <item quantity="one" msgid="1716355580615489062">"Adgangskoden skal indeholde mindst 1 tegn, der ikke er et bogstav"</item>
+    <item quantity="other" msgid="5574191164708145973">"Adgangskoden skal indeholde mindst %d tegn, der ikke er bogstaver"</item>
+  </plurals>
+    <string name="lockpassword_password_recently_used" msgid="2739642871806935825">"Enhedens administrator tillader ikke brug af nylig adgangskode"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Annuller"</string>
     <string name="device_admin_title" msgid="3562216873644263804">"Enhedsadministration"</string>
@@ -303,9 +337,15 @@
     <string name="bluetooth_profile_a2dp" msgid="3259633293424539529">"Medier"</string>
     <string name="bluetooth_profile_headset" msgid="1874975688666658946">"Telefon"</string>
     <string name="bluetooth_profile_opp" msgid="3799470046565284440">"Overfør"</string>
+    <string name="bluetooth_profile_hid" msgid="3000858580917633478">"Inputenhed"</string>
+    <!-- no translation found for bluetooth_profile_pan (4225813400648547154) -->
+    <skip />
     <string name="bluetooth_summary_connected_to_a2dp" msgid="510833839847758664">"Forbundet til medielyd"</string>
     <string name="bluetooth_summary_connected_to_headset" msgid="4876496372728623918">"Forbundet til telefonlyd"</string>
     <string name="bluetooth_summary_connected_to_a2dp_headset" msgid="3045032710457800891">"Forbundet til telefon- og medielyd"</string>
+    <string name="bluetooth_summary_connected_to_hid" msgid="8147499644396475561">"Forbundet til inputenhed"</string>
+    <!-- no translation found for bluetooth_summary_connected_to_pan (3157622705092537266) -->
+    <skip />
     <string name="bluetooth_device_advanced_title" msgid="528816860793581131">"Valgmuligheder for <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="bluetooth_device_advanced_online_mode_title" msgid="3689050071425683114">"Forbind"</string>
     <string name="bluetooth_device_advanced_online_mode_summary" msgid="1204424107263248336">"Opret forbindelse til Bluetooth-enhed"</string>
@@ -314,9 +354,13 @@
     <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Forbundet til telefonlyd"</string>
     <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Forbundet til filoverførselsserver"</string>
     <string name="bluetooth_opp_profile_summary_not_connected" msgid="1267091356089086285">"Ikke forbundet til filoverførselsserver"</string>
+    <string name="bluetooth_hid_profile_summary_connected" msgid="3381760054215168689">"Forbundet til inputenhed"</string>
+    <!-- no translation found for bluetooth_pan_profile_summary_connected (7456487225516323485) -->
+    <skip />
     <string name="bluetooth_a2dp_profile_summary_use_for" msgid="4630849022250168427">"Brug til medielyd"</string>
     <string name="bluetooth_headset_profile_summary_use_for" msgid="8705753622443862627">"Brug til telefonlyd"</string>
     <string name="bluetooth_opp_profile_summary_use_for" msgid="1255674547144769756">"Brug til filoverførsel"</string>
+    <string name="bluetooth_hid_profile_summary_use_for" msgid="232727040453645139">"Brug til input"</string>
     <string name="bluetooth_dock_settings" msgid="3218335822716052885">"Indstillinger af Dock"</string>
     <string name="bluetooth_dock_settings_title" msgid="5543069893044375188">"Brug dock til audio"</string>
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Som højttalertelefon"</string>
@@ -496,8 +540,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"Status"</string>
     <string name="device_status" msgid="607405385799807324">"Status"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Telefonnummer, signal osv."</string>
-    <string name="storage_settings" msgid="6681164315506788024">"Lagerplads, SD-kort og tlf."</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"Indstillinger for lagerplads på SD-kort og telefon"</string>
+    <!-- no translation found for storage_settings (4211799979832404953) -->
+    <skip />
+    <!-- no translation found for storage_settings_title (8746016738388094064) -->
+    <skip />
     <string name="storage_settings_summary" msgid="9176693537325988610">"Demonter SD-kort, vis ledig lagerplads"</string>
     <string name="status_number" msgid="5123197324870153205">"Mit telefonnummer"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
@@ -588,12 +634,27 @@
     <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>
+    <!-- no translation found for tether_settings_title_usb (6688416425801386511) -->
+    <skip />
     <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>
+    <!-- no translation found for tether_settings_title_bluetooth (355855408317564420) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_usb_bluetooth (5355828977109785001) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_all (8356136101061143841) -->
+    <skip />
     <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>
+    <!-- no translation found for tether_settings_summary_bluetooth (4363059913219151114) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_wifi (3700323208282018772) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_bluetooth (4008195891276675882) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_wifi_bluetooth (2753904149495692201) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_all (1171769255924636665) -->
+    <skip />
     <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,6 +662,24 @@
     <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>
+    <!-- no translation found for bluetooth_tether_checkbox_text (2379175828878753652) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_available_subtext (3317112145693933963) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_connected_subtext (893888246368164894) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_off_subtext (1798863866978968964) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_errored_subtext (1344187103463073993) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_overflow_error (2222060504731415763) -->
+    <skip />
+    <!-- no translation found for bluetooth_untether_blank (2871192409329334813) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_text (2273368767599539525) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_subtext (5970033999897946708) -->
+    <skip />
     <string name="tethering_help_button_text" msgid="656117495547173630">"Hjælp"</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>
@@ -824,6 +903,7 @@
     <string name="quick_launch_display_mode_applications" msgid="3748789806447639039">"Programmer"</string>
     <string name="quick_launch_display_mode_shortcuts" msgid="4177934019174169042">"Genveje"</string>
     <string name="input_methods_settings_title" msgid="6800066636850553887">"Tekstinput"</string>
+    <string name="input_method" msgid="5434026103176856164">"Inputmetode"</string>
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Administrer valgmuligheder for tekstinput"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"<xliff:g id="IME_NAME">%1$s</xliff:g>-indstillinger"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Indstillinger for skærmens tastatur"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 379e1f6..02df200 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -130,14 +130,23 @@
     <string name="intent_sender_startactivity_text" msgid="5080516029580421895">"<xliff:g id="ACTIVITY">activity</xliff:g> starten"</string>
     <string name="intent_sender_resource_label" msgid="6963659726895482829">"<xliff:g id="RESOURCE">Resource</xliff:g>:"</string>
     <string name="intent_sender_account_label" msgid="465210404475603404">"Konto:"</string>
+    <!-- no translation found for proxy_settings_title (6262282922722097473) -->
+    <skip />
+    <!-- no translation found for proxy_settings_summary (7898928000758321486) -->
+    <skip />
     <string name="proxy_clear_text" msgid="5555400754952012657">"Löschen"</string>
     <string name="proxy_port_label" msgid="2623639656638472491">"Port"</string>
+    <!-- no translation found for proxy_exclusionlist_label (204409815790850313) -->
+    <skip />
     <string name="proxy_defaultView_text" msgid="6387985519141433291">"Standard wiederherstellen"</string>
-    <string name="proxy_action_text" msgid="477348175123635416">"Speichern"</string>
+    <!-- no translation found for proxy_action_text (2957063145357903951) -->
+    <skip />
     <string name="proxy_hostname_label" msgid="7531298584350977540">"Hostname"</string>
     <string name="proxy_error" msgid="8926675299638611451">"Achtung"</string>
     <string name="proxy_error_dismiss" msgid="4993171795485460060">"OK"</string>
     <string name="proxy_error_invalid_host" msgid="9120776460063182119">"Der eingegebene Hostname ist ungültig."</string>
+    <!-- no translation found for proxy_error_invalid_exclusion_list (4753810662233875893) -->
+    <skip />
     <string name="proxy_error_empty_port" msgid="3525734169948795417">"Sie müssen das Feld für den Port ausfüllen."</string>
     <string name="proxy_error_empty_host_set_port" msgid="2451694104858226781">"Das Feld für den Port muss leer sein, wenn das Feld für den Host leer ist."</string>
     <string name="proxy_error_invalid_port" msgid="1816315605424943626">"Der eingegebene Port ist ungültig."</string>
@@ -189,8 +198,7 @@
     <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"SD-Karte wird auf Medien gescannt..."</string>
     <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"SD-Karte schreibgeschützt aktiviert"</string>
     <string name="next_label" msgid="4693520878012668114">"Weiter"</string>
-    <string name="language_picker_title" msgid="4034157617842965844">"Sprache"</string>
-    <string name="select_your_language" msgid="1146235168951906084">"Sprache auswählen"</string>
+    <string name="language_picker_title" msgid="5349877711342869319">"Sprache"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Aktion auswählen"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Geräteinfo"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Akkuinfo"</string>
@@ -257,15 +265,41 @@
     <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Entsperrungspasswort ändern"</string>
     <string name="lockpassword_password_too_short" msgid="7328975683669256660">"Das Passwort muss mindestens %d Zeichen enthalten."</string>
     <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"Die PIN muss mindestens %d Zeichen enthalten."</string>
-    <string name="lockpassword_press_continue" msgid="6506047902828925216">"Wählen Sie \"Weiter\", wenn Sie fertig sind."</string>
+    <string name="lockpassword_press_continue" msgid="122706614386757182">"Wählen Sie \"Weiter\", sobald Sie fertig sind."</string>
     <string name="lockpassword_continue_label" msgid="4602203784934526940">"Weiter"</string>
     <string name="lockpassword_password_too_long" msgid="7354418473281442589">"Die PIN darf maximal %d Zeichen enthalten."</string>
     <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"Die PIN darf maximal %d Zeichen enthalten."</string>
     <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"PIN darf nur die Ziffern 0 - 9 enthalten."</string>
+    <string name="lockpassword_pin_recently_used" msgid="2729073062730842496">"Geräteadministrator lässt die Verwendung einer früheren PIN nicht zu"</string>
     <string name="lockpassword_illegal_character" msgid="6204396794254688549">"Das Passwort enthält ein ungültiges Zeichen."</string>
     <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"Das Passwort muss mindestens einen Buchstaben enthalten."</string>
     <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"Das Passwort muss mindestens eine Zahl enthalten."</string>
     <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"Das Passwort muss mindestens ein Symbol enthalten."</string>
+  <plurals name="lockpassword_password_requires_letters">
+    <item quantity="one" msgid="1462968118065694590">"Das Passwort muss mindestens einen Buchstaben enthalten."</item>
+    <item quantity="other" msgid="7278096339907683541">"Das Passwort muss mindestens %d Buchstaben enthalten."</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_lowercase">
+    <item quantity="one" msgid="2048653993044269649">"Das Passwort muss mindestens einen Kleinbuchstaben enthalten."</item>
+    <item quantity="other" msgid="588499075580432178">"Das Passwort muss mindestens %d Kleinbuchstaben enthalten."</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_uppercase">
+    <item quantity="one" msgid="7677454174080582601">"Das Passwort muss mindestens einen Großbuchstaben enthalten."</item>
+    <item quantity="other" msgid="2183090598541826806">"Das Passwort muss mindestens %d Großbuchstaben enthalten."</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_numeric">
+    <item quantity="one" msgid="8585088032818933985">"Das Passwort muss mindestens eine Ziffer enthalten."</item>
+    <item quantity="other" msgid="995673409754935278">"Das Passwort muss mindestens %d Ziffern enthalten."</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_symbols">
+    <item quantity="one" msgid="3930886641317826293">"Das Passwort muss mindestens ein Sonderzeichen enthalten."</item>
+    <item quantity="other" msgid="3047460862484105274">"Das Passwort muss mindestens %d Sonderzeichen enthalten."</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_nonletter">
+    <item quantity="one" msgid="1716355580615489062">"Das Passwort muss mindestens ein Zeichen enthalten, das kein Buchstabe ist."</item>
+    <item quantity="other" msgid="5574191164708145973">"Das Passwort muss mindestens %d Zeichen enthalten, die keine Buchstaben sind."</item>
+  </plurals>
+    <string name="lockpassword_password_recently_used" msgid="2739642871806935825">"Geräteadministrator lässt die Verwendung eines früheren Passworts nicht zu"</string>
     <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>
@@ -303,9 +337,15 @@
     <string name="bluetooth_profile_a2dp" msgid="3259633293424539529">"Medien"</string>
     <string name="bluetooth_profile_headset" msgid="1874975688666658946">"Telefon"</string>
     <string name="bluetooth_profile_opp" msgid="3799470046565284440">"Übertragung"</string>
+    <string name="bluetooth_profile_hid" msgid="3000858580917633478">"Eingabegerät"</string>
+    <!-- no translation found for bluetooth_profile_pan (4225813400648547154) -->
+    <skip />
     <string name="bluetooth_summary_connected_to_a2dp" msgid="510833839847758664">"Verbunden mit  Audiosystem von Medien"</string>
     <string name="bluetooth_summary_connected_to_headset" msgid="4876496372728623918">"Verbunden mit Audiosystem des Telefons"</string>
     <string name="bluetooth_summary_connected_to_a2dp_headset" msgid="3045032710457800891">"Verbunden mit Audiosystem von Telefon und Medien"</string>
+    <string name="bluetooth_summary_connected_to_hid" msgid="8147499644396475561">"Mit einem Eingabegerät verbunden"</string>
+    <!-- no translation found for bluetooth_summary_connected_to_pan (3157622705092537266) -->
+    <skip />
     <string name="bluetooth_device_advanced_title" msgid="528816860793581131">"Optionen von <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="bluetooth_device_advanced_online_mode_title" msgid="3689050071425683114">"Verbinden"</string>
     <string name="bluetooth_device_advanced_online_mode_summary" msgid="1204424107263248336">"Mit Bluetooth-Gerät verbinden"</string>
@@ -314,9 +354,13 @@
     <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Verbunden mit Audiosystem des Telefons"</string>
     <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Mit Dateiübertragungsserver verbunden"</string>
     <string name="bluetooth_opp_profile_summary_not_connected" msgid="1267091356089086285">"Nicht mit Dateiübertragungsserver verbunden"</string>
+    <string name="bluetooth_hid_profile_summary_connected" msgid="3381760054215168689">"Mit einem Eingabegerät verbunden"</string>
+    <!-- no translation found for bluetooth_pan_profile_summary_connected (7456487225516323485) -->
+    <skip />
     <string name="bluetooth_a2dp_profile_summary_use_for" msgid="4630849022250168427">"Für Audiosystem von Medien verwenden"</string>
     <string name="bluetooth_headset_profile_summary_use_for" msgid="8705753622443862627">"Für Audiosystem des Telefons verwenden"</string>
     <string name="bluetooth_opp_profile_summary_use_for" msgid="1255674547144769756">"Für Dateiübertragung verwenden"</string>
+    <string name="bluetooth_hid_profile_summary_use_for" msgid="232727040453645139">"Für Eingabe verwenden"</string>
     <string name="bluetooth_dock_settings" msgid="3218335822716052885">"Dock-Einstellungen"</string>
     <string name="bluetooth_dock_settings_title" msgid="5543069893044375188">"Dock für Audio verwenden"</string>
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Als Lautsprechertelefon"</string>
@@ -496,8 +540,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"Status"</string>
     <string name="device_status" msgid="607405385799807324">"Status"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Telefonnummer, Signal usw."</string>
-    <string name="storage_settings" msgid="6681164315506788024">"SD-Karte&amp;Telefonspeicher"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"Einstellungen für SD-Karte &amp; Telefonspeicher"</string>
+    <!-- no translation found for storage_settings (4211799979832404953) -->
+    <skip />
+    <!-- no translation found for storage_settings_title (8746016738388094064) -->
+    <skip />
     <string name="storage_settings_summary" msgid="9176693537325988610">"SD-Karte entnehmen, verfügbaren Speicher anzeigen"</string>
     <string name="status_number" msgid="5123197324870153205">"Meine Telefonnummer"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
@@ -588,12 +634,27 @@
     <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>
+    <!-- no translation found for tether_settings_title_usb (6688416425801386511) -->
+    <skip />
     <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Mobiler Hotspot"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"Tethering &amp; mobiler Hotspot"</string>
+    <!-- no translation found for tether_settings_title_bluetooth (355855408317564420) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_usb_bluetooth (5355828977109785001) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_all (8356136101061143841) -->
+    <skip />
     <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>
+    <!-- no translation found for tether_settings_summary_bluetooth (4363059913219151114) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_wifi (3700323208282018772) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_bluetooth (4008195891276675882) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_wifi_bluetooth (2753904149495692201) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_all (1171769255924636665) -->
+    <skip />
     <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,6 +662,24 @@
     <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>
+    <!-- no translation found for bluetooth_tether_checkbox_text (2379175828878753652) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_available_subtext (3317112145693933963) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_connected_subtext (893888246368164894) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_off_subtext (1798863866978968964) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_errored_subtext (1344187103463073993) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_overflow_error (2222060504731415763) -->
+    <skip />
+    <!-- no translation found for bluetooth_untether_blank (2871192409329334813) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_text (2273368767599539525) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_subtext (5970033999897946708) -->
+    <skip />
     <string name="tethering_help_button_text" msgid="656117495547173630">"Hilfe"</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>
@@ -824,6 +903,7 @@
     <string name="quick_launch_display_mode_applications" msgid="3748789806447639039">"Anwendungen"</string>
     <string name="quick_launch_display_mode_shortcuts" msgid="4177934019174169042">"Tastenkombinationen"</string>
     <string name="input_methods_settings_title" msgid="6800066636850553887">"Texteingabe"</string>
+    <string name="input_method" msgid="5434026103176856164">"Eingabemethode"</string>
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Optionen für Texteingabe verwalten"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"<xliff:g id="IME_NAME">%1$s</xliff:g>-Einstellungen"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Einstellungen der Bildschirmtastatur"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 98fd7c3..0f2aeb4 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -130,14 +130,23 @@
     <string name="intent_sender_startactivity_text" msgid="5080516029580421895">"Εκκίνηση <xliff:g id="ACTIVITY">activity</xliff:g>"</string>
     <string name="intent_sender_resource_label" msgid="6963659726895482829">"<xliff:g id="RESOURCE">Resource</xliff:g>:"</string>
     <string name="intent_sender_account_label" msgid="465210404475603404">"Λογαριασμός:"</string>
+    <!-- no translation found for proxy_settings_title (6262282922722097473) -->
+    <skip />
+    <!-- no translation found for proxy_settings_summary (7898928000758321486) -->
+    <skip />
     <string name="proxy_clear_text" msgid="5555400754952012657">"Εκκαθάριση"</string>
     <string name="proxy_port_label" msgid="2623639656638472491">"Θύρα"</string>
+    <!-- no translation found for proxy_exclusionlist_label (204409815790850313) -->
+    <skip />
     <string name="proxy_defaultView_text" msgid="6387985519141433291">"Επαναφορά προεπιλογών"</string>
-    <string name="proxy_action_text" msgid="477348175123635416">"Αποθ/ση"</string>
+    <!-- no translation found for proxy_action_text (2957063145357903951) -->
+    <skip />
     <string name="proxy_hostname_label" msgid="7531298584350977540">"Όνομα κεντρικού υπολογιστή"</string>
     <string name="proxy_error" msgid="8926675299638611451">"Προσοχή"</string>
     <string name="proxy_error_dismiss" msgid="4993171795485460060">"OK"</string>
     <string name="proxy_error_invalid_host" msgid="9120776460063182119">"Το όνομα κεντρικού υπολογιστή που πληκτρολογήσατε δεν είναι έγκυρο."</string>
+    <!-- no translation found for proxy_error_invalid_exclusion_list (4753810662233875893) -->
+    <skip />
     <string name="proxy_error_empty_port" msgid="3525734169948795417">"Πρέπει να συμπληρώσετε το πεδίο θύρας."</string>
     <string name="proxy_error_empty_host_set_port" msgid="2451694104858226781">"Το πεδίο θύρας θα πρέπει να είναι κενό αν το πεδίο κεντρικού υπολογιστή είναι κενό."</string>
     <string name="proxy_error_invalid_port" msgid="1816315605424943626">"Η θύρα που πληκτρολογήσατε δεν είναι έγκυρη."</string>
@@ -189,8 +198,7 @@
     <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"Σάρωση κάρτας SD για πολυμέσα..."</string>
     <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"Η κάρτα SD που προσαρτήθηκε είναι μόνο για ανάγνωση"</string>
     <string name="next_label" msgid="4693520878012668114">"Επόμενο"</string>
-    <string name="language_picker_title" msgid="4034157617842965844">"Τοπικές ρυθμίσεις"</string>
-    <string name="select_your_language" msgid="1146235168951906084">"Επιλέξτε γλώσσα"</string>
+    <string name="language_picker_title" msgid="5349877711342869319">"Γλώσσα"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Επιλογή δραστηριότητας"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Πληροφορίες συσκευής"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Πληροφορίες μπαταρίας"</string>
@@ -257,15 +265,41 @@
     <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Αλλαγή κωδικού πρόσβασης ξεκλειδώματος"</string>
     <string name="lockpassword_password_too_short" msgid="7328975683669256660">"Ο κωδικός πρόσβασης πρέπει να έχει τουλάχιστον %d χαρακτήρες"</string>
     <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"Ο αριθμός PIN πρέπει να έχει τουλάχιστον %d χαρακτήρες"</string>
-    <string name="lockpassword_press_continue" msgid="6506047902828925216">"Πατήστε \"Συνέχεια\" όταν τελειώσετε"</string>
+    <string name="lockpassword_press_continue" msgid="122706614386757182">"Πατήστε \"Συνέχεια\" όταν τελειώσετε"</string>
     <string name="lockpassword_continue_label" msgid="4602203784934526940">"Συνέχεια"</string>
     <string name="lockpassword_password_too_long" msgid="7354418473281442589">"Ο αριθμός PIN δεν μπορεί να υπερβαίνει τα %d ψηφία"</string>
     <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"Ο αριθμός PIN δεν μπορεί να υπερβαίνει τα %d ψηφία"</string>
     <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"Ο αριθμός PIN πρέπει να περιέχει μόνο ψηφία από το 0 έως το 9"</string>
+    <string name="lockpassword_pin_recently_used" msgid="2729073062730842496">"Ο διαχειριστής της συσκευής δεν επιτρέπει τη χρήση ενός πρόσφατου PIN"</string>
     <string name="lockpassword_illegal_character" msgid="6204396794254688549">"Ο κωδικός πρόσβασης περιέχει ένα μη έγκυρο χαρακτήρα"</string>
     <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"O κωδικός πρόσβασης πρέπει να περιέχει τουλάχιστον ένα γράμμα"</string>
     <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"Ο κωδικός πρόσβασης πρέπει να περιέχει τουλάχιστον ένα ψηφίο"</string>
     <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"O κωδικός πρόσβασης πρέπει να περιέχει τουλάχιστον ένα σύμβολο"</string>
+  <plurals name="lockpassword_password_requires_letters">
+    <item quantity="one" msgid="1462968118065694590">"O κωδικός πρόσβασης πρέπει να έχει τουλάχιστον ένα γράμμα"</item>
+    <item quantity="other" msgid="7278096339907683541">"Ο κωδικός πρόσβασης πρέπει να έχει τουλάχιστον %d γράμματα"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_lowercase">
+    <item quantity="one" msgid="2048653993044269649">"O κωδικός πρόσβασης πρέπει να έχει τουλάχιστον ένα πεζό γράμμα"</item>
+    <item quantity="other" msgid="588499075580432178">"Ο κωδικός πρόσβασης πρέπει να έχει τουλάχιστον %d πεζά γράμματα"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_uppercase">
+    <item quantity="one" msgid="7677454174080582601">"O κωδικός πρόσβασης πρέπει να έχει τουλάχιστον ένα κεφαλαίο γράμμα"</item>
+    <item quantity="other" msgid="2183090598541826806">"Ο κωδικός πρόσβασης πρέπει να έχει τουλάχιστον %d κεφαλαία γράμματα"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_numeric">
+    <item quantity="one" msgid="8585088032818933985">"Ο κωδικός πρόσβασης πρέπει να περιέχει τουλάχιστον ένα αριθμητικό ψηφίο"</item>
+    <item quantity="other" msgid="995673409754935278">"Ο κωδικός πρόσβασης πρέπει να έχει τουλάχιστον %d αριθμητικά ψηφία"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_symbols">
+    <item quantity="one" msgid="3930886641317826293">"O κωδικός πρόσβασης πρέπει να έχει τουλάχιστον ένα ειδικό σύμβολο"</item>
+    <item quantity="other" msgid="3047460862484105274">"Ο κωδικός πρόσβασης πρέπει να έχει τουλάχιστον %d ειδικά σύμβολα"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_nonletter">
+    <item quantity="one" msgid="1716355580615489062">"Ο κωδικός πρόσβασης πρέπει να έχει τουλάχιστον ένα χαρακτήρα που δεν είναι γράμμα"</item>
+    <item quantity="other" msgid="5574191164708145973">"Ο κωδικός πρόσβασης πρέπει να έχει τουλάχιστον %d χαρακτήρες που δεν είναι γράμματα"</item>
+  </plurals>
+    <string name="lockpassword_password_recently_used" msgid="2739642871806935825">"Ο διαχειριστής της συσκευής δεν επιτρέπει τη χρήση ενός πρόσφατου κωδικού πρόσβασης"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"ΟΚ"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Ακύρωση"</string>
     <string name="device_admin_title" msgid="3562216873644263804">"Διαχείριση συσκευής"</string>
@@ -303,9 +337,15 @@
     <string name="bluetooth_profile_a2dp" msgid="3259633293424539529">"Πολυμέσα"</string>
     <string name="bluetooth_profile_headset" msgid="1874975688666658946">"Τηλέφωνο"</string>
     <string name="bluetooth_profile_opp" msgid="3799470046565284440">"Μεταφορά"</string>
+    <string name="bluetooth_profile_hid" msgid="3000858580917633478">"Συσκευή εισόδου"</string>
+    <!-- no translation found for bluetooth_profile_pan (4225813400648547154) -->
+    <skip />
     <string name="bluetooth_summary_connected_to_a2dp" msgid="510833839847758664">"Συνδέθηκε σε ήχο πολυμέσων"</string>
     <string name="bluetooth_summary_connected_to_headset" msgid="4876496372728623918">"Συνδεδεμένο στον ήχο τηλεφώνου"</string>
     <string name="bluetooth_summary_connected_to_a2dp_headset" msgid="3045032710457800891">"Σύνδεση στο τηλέφωνο και στον ήχο πολυμέσων"</string>
+    <string name="bluetooth_summary_connected_to_hid" msgid="8147499644396475561">"Συνδέθηκε σε συσκευή εισόδου"</string>
+    <!-- no translation found for bluetooth_summary_connected_to_pan (3157622705092537266) -->
+    <skip />
     <string name="bluetooth_device_advanced_title" msgid="528816860793581131">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> επιλογές"</string>
     <string name="bluetooth_device_advanced_online_mode_title" msgid="3689050071425683114">"Σύνδεση"</string>
     <string name="bluetooth_device_advanced_online_mode_summary" msgid="1204424107263248336">"Σύνδεση σε συσκευή Bluetooth"</string>
@@ -314,9 +354,13 @@
     <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Συνδεδεμένο στον ήχο τηλεφώνου"</string>
     <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Συνδεδεμένο σε διακομιστή μεταφοράς αρχείων"</string>
     <string name="bluetooth_opp_profile_summary_not_connected" msgid="1267091356089086285">"Δεν έχει συνδεθεί σε διακομιστή μεταφοράς αρχείων"</string>
+    <string name="bluetooth_hid_profile_summary_connected" msgid="3381760054215168689">"Συνδέθηκε σε συσκευή εισόδου"</string>
+    <!-- no translation found for bluetooth_pan_profile_summary_connected (7456487225516323485) -->
+    <skip />
     <string name="bluetooth_a2dp_profile_summary_use_for" msgid="4630849022250168427">"Χρήση για ήχο πολυμέσων"</string>
     <string name="bluetooth_headset_profile_summary_use_for" msgid="8705753622443862627">"Χρήση για ήχο τηλεφώνου"</string>
     <string name="bluetooth_opp_profile_summary_use_for" msgid="1255674547144769756">"Χρήση για τη μεταφορά αρχείων"</string>
+    <string name="bluetooth_hid_profile_summary_use_for" msgid="232727040453645139">"Χρήση για είσοδο"</string>
     <string name="bluetooth_dock_settings" msgid="3218335822716052885">"Ρυθμίσεις βάσης σύνδεσης αυτοκινήτου"</string>
     <string name="bluetooth_dock_settings_title" msgid="5543069893044375188">"Χρησιμοποιήστε τη βάση σύνδεσης αυτοκινήτου για αναπαραγωγή ήχου"</string>
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Ως τηλέφωνο ανοιχτής συνομιλίας"</string>
@@ -496,8 +540,10 @@
     <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">"Κάρτα SD &amp; αποθηκευτικός χώρος τηλεφώνου"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"Ρυθμίσεις κάρτας SD &amp; αποθηκευτικού χώρου τηλεφώνου"</string>
+    <!-- no translation found for storage_settings (4211799979832404953) -->
+    <skip />
+    <!-- no translation found for storage_settings_title (8746016738388094064) -->
+    <skip />
     <string name="storage_settings_summary" msgid="9176693537325988610">"Αφαίρεση κάρτας SD, προβολή διαθέσιμου αποθηκευτικού χώρου"</string>
     <string name="status_number" msgid="5123197324870153205">"Ο τηλεφωνικός αριθμός μου"</string>
     <string name="status_min_number" msgid="3519504522179420597">"ΛΕΠΤΟ"</string>
@@ -588,12 +634,27 @@
     <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>
+    <!-- no translation found for tether_settings_title_usb (6688416425801386511) -->
+    <skip />
     <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Φορητό σημείο πρόσβασης"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"Tethering και φορητό σημείο πρόσβασης"</string>
+    <!-- no translation found for tether_settings_title_bluetooth (355855408317564420) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_usb_bluetooth (5355828977109785001) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_all (8356136101061143841) -->
+    <skip />
     <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>
+    <!-- no translation found for tether_settings_summary_bluetooth (4363059913219151114) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_wifi (3700323208282018772) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_bluetooth (4008195891276675882) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_wifi_bluetooth (2753904149495692201) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_all (1171769255924636665) -->
+    <skip />
     <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,6 +662,24 @@
     <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>
+    <!-- no translation found for bluetooth_tether_checkbox_text (2379175828878753652) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_available_subtext (3317112145693933963) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_connected_subtext (893888246368164894) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_off_subtext (1798863866978968964) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_errored_subtext (1344187103463073993) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_overflow_error (2222060504731415763) -->
+    <skip />
+    <!-- no translation found for bluetooth_untether_blank (2871192409329334813) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_text (2273368767599539525) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_subtext (5970033999897946708) -->
+    <skip />
     <string name="tethering_help_button_text" msgid="656117495547173630">"Βοήθεια"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"Δίκτυα κινητής τηλεφωνίας"</string>
     <string name="network_settings_summary" msgid="5149750850846813553">"Ορισμός επιλογών για περιαγωγή, δίκτυα, APN"</string>
@@ -824,6 +903,7 @@
     <string name="quick_launch_display_mode_applications" msgid="3748789806447639039">"Εφαρμογές"</string>
     <string name="quick_launch_display_mode_shortcuts" msgid="4177934019174169042">"Συντομεύσεις"</string>
     <string name="input_methods_settings_title" msgid="6800066636850553887">"Είσοδος κειμένου"</string>
+    <string name="input_method" msgid="5434026103176856164">"Μέθοδος εισόδου"</string>
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Διαχείριση επιλογών εισόδου κειμένου"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"Ρυθμίσεις <xliff:g id="IME_NAME">%1$s</xliff:g>"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Ρυθμίσεις πληκτρολογίου οθόνης"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index ed08d3e..1f41fb4 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -130,14 +130,23 @@
     <string name="intent_sender_startactivity_text" msgid="5080516029580421895">"Inicio <xliff:g id="ACTIVITY">activity</xliff:g>"</string>
     <string name="intent_sender_resource_label" msgid="6963659726895482829">"<xliff:g id="RESOURCE">Resource</xliff:g>:"</string>
     <string name="intent_sender_account_label" msgid="465210404475603404">"Cuenta:"</string>
+    <!-- no translation found for proxy_settings_title (6262282922722097473) -->
+    <skip />
+    <!-- no translation found for proxy_settings_summary (7898928000758321486) -->
+    <skip />
     <string name="proxy_clear_text" msgid="5555400754952012657">"Borrar"</string>
     <string name="proxy_port_label" msgid="2623639656638472491">"Puerto"</string>
+    <!-- no translation found for proxy_exclusionlist_label (204409815790850313) -->
+    <skip />
     <string name="proxy_defaultView_text" msgid="6387985519141433291">"Restaurar configuraciones predeterminadas"</string>
-    <string name="proxy_action_text" msgid="477348175123635416">"Guardar"</string>
+    <!-- no translation found for proxy_action_text (2957063145357903951) -->
+    <skip />
     <string name="proxy_hostname_label" msgid="7531298584350977540">"Nombre del servidor"</string>
     <string name="proxy_error" msgid="8926675299638611451">"Atención"</string>
     <string name="proxy_error_dismiss" msgid="4993171795485460060">"Aceptar"</string>
     <string name="proxy_error_invalid_host" msgid="9120776460063182119">"El nombre del servidor que has escrito no es válido."</string>
+    <!-- no translation found for proxy_error_invalid_exclusion_list (4753810662233875893) -->
+    <skip />
     <string name="proxy_error_empty_port" msgid="3525734169948795417">"Debes completar el campo de puerto."</string>
     <string name="proxy_error_empty_host_set_port" msgid="2451694104858226781">"El campo del puerto debe estar vacío si el campo de servidor está vacío."</string>
     <string name="proxy_error_invalid_port" msgid="1816315605424943626">"El puerto que has escrito no es válido."</string>
@@ -189,8 +198,7 @@
     <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"Explorando medios en la tarjeta SD..."</string>
     <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"Tarjeta SD montada para sólo lectura"</string>
     <string name="next_label" msgid="4693520878012668114">"Siguiente"</string>
-    <string name="language_picker_title" msgid="4034157617842965844">"País"</string>
-    <string name="select_your_language" msgid="1146235168951906084">"Selecciona tu idioma"</string>
+    <string name="language_picker_title" msgid="5349877711342869319">"Idioma"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Seleccionar actividad"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Información de dispositivo"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Información de la batería"</string>
@@ -257,15 +265,41 @@
     <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Cambiar la contraseña de desbloqueo"</string>
     <string name="lockpassword_password_too_short" msgid="7328975683669256660">"La contraseña debe tener al menos %d caracteres."</string>
     <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"El PIN debe tener al menos %d caracteres."</string>
-    <string name="lockpassword_press_continue" msgid="6506047902828925216">"Presiona Continuar cuando hayas finalizado."</string>
+    <string name="lockpassword_press_continue" msgid="122706614386757182">"Toca Continuar cuando hayas finalizado"</string>
     <string name="lockpassword_continue_label" msgid="4602203784934526940">"Continuar"</string>
     <string name="lockpassword_password_too_long" msgid="7354418473281442589">"El PIN no puede tener más de %d dígitos."</string>
     <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"El PIN no puede tener más de %d dígitos."</string>
     <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"El PIN debe contener de 0 a 9 dígitos únicamente."</string>
+    <string name="lockpassword_pin_recently_used" msgid="2729073062730842496">"El administrador de dispositivos no permite utilizar un PIN reciente"</string>
     <string name="lockpassword_illegal_character" msgid="6204396794254688549">"La contraseña tiene un caracter no admitido."</string>
     <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"La contraseña debe contener al menos una letra."</string>
     <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"La contraseña debe contener al menos un dígito."</string>
     <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"La contraseña debe contener al menos un símbolo."</string>
+  <plurals name="lockpassword_password_requires_letters">
+    <item quantity="one" msgid="1462968118065694590">"La contraseña debe tener al menos una letra"</item>
+    <item quantity="other" msgid="7278096339907683541">"La contraseña debe tener al menos %d letras"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_lowercase">
+    <item quantity="one" msgid="2048653993044269649">"La contraseña debe contener al menos una letra minúscula"</item>
+    <item quantity="other" msgid="588499075580432178">"La contraseña debe tener al menos %d caracteres en minúscula"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_uppercase">
+    <item quantity="one" msgid="7677454174080582601">"La contraseña debe tener al menos una letra mayúscula"</item>
+    <item quantity="other" msgid="2183090598541826806">"La contraseña debe tener al menos %d letras mayúsculas"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_numeric">
+    <item quantity="one" msgid="8585088032818933985">"La contraseña debe tener al menos un dígito"</item>
+    <item quantity="other" msgid="995673409754935278">"La contraseña debe tener al menos %d dígitos"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_symbols">
+    <item quantity="one" msgid="3930886641317826293">"La contraseña debe contener al menos un símbolo especial"</item>
+    <item quantity="other" msgid="3047460862484105274">"La contraseña debe tener al menos %d símbolos especiales"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_nonletter">
+    <item quantity="one" msgid="1716355580615489062">"La contraseña debe tener al menos un carácter que no sea una letra"</item>
+    <item quantity="other" msgid="5574191164708145973">"La contraseña debe tener al menos %d caracteres que no sean letras"</item>
+  </plurals>
+    <string name="lockpassword_password_recently_used" msgid="2739642871806935825">"El administrador de dispositivos no permite utilizar una contraseña reciente."</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"Aceptar"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Cancelar"</string>
     <string name="device_admin_title" msgid="3562216873644263804">"Administración del dispositivo"</string>
@@ -303,9 +337,15 @@
     <string name="bluetooth_profile_a2dp" msgid="3259633293424539529">"Medios"</string>
     <string name="bluetooth_profile_headset" msgid="1874975688666658946">"Teléfono"</string>
     <string name="bluetooth_profile_opp" msgid="3799470046565284440">"Transferir"</string>
+    <string name="bluetooth_profile_hid" msgid="3000858580917633478">"Dispositivo de entrada"</string>
+    <!-- no translation found for bluetooth_profile_pan (4225813400648547154) -->
+    <skip />
     <string name="bluetooth_summary_connected_to_a2dp" msgid="510833839847758664">"Conectado al audio de medios"</string>
     <string name="bluetooth_summary_connected_to_headset" msgid="4876496372728623918">"Conectado al audio del teléfono"</string>
     <string name="bluetooth_summary_connected_to_a2dp_headset" msgid="3045032710457800891">"Conectado al audio del teléfono y los medios"</string>
+    <string name="bluetooth_summary_connected_to_hid" msgid="8147499644396475561">"Conectado a dispositivo de entrada "</string>
+    <!-- no translation found for bluetooth_summary_connected_to_pan (3157622705092537266) -->
+    <skip />
     <string name="bluetooth_device_advanced_title" msgid="528816860793581131">"opciones de <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="bluetooth_device_advanced_online_mode_title" msgid="3689050071425683114">"Conectar"</string>
     <string name="bluetooth_device_advanced_online_mode_summary" msgid="1204424107263248336">"Conectar al dispositivo Bluetooth"</string>
@@ -314,9 +354,13 @@
     <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Conectado al audio del teléfono"</string>
     <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Conectado al servidor de transferencia de archivo"</string>
     <string name="bluetooth_opp_profile_summary_not_connected" msgid="1267091356089086285">"No conectado al servidor de transferencia de archivo"</string>
+    <string name="bluetooth_hid_profile_summary_connected" msgid="3381760054215168689">"Conectado a dispositivo de entrada "</string>
+    <!-- no translation found for bluetooth_pan_profile_summary_connected (7456487225516323485) -->
+    <skip />
     <string name="bluetooth_a2dp_profile_summary_use_for" msgid="4630849022250168427">"Utilizar para el audio de medios"</string>
     <string name="bluetooth_headset_profile_summary_use_for" msgid="8705753622443862627">"Utilizar para el audio del teléfono"</string>
     <string name="bluetooth_opp_profile_summary_use_for" msgid="1255674547144769756">"Utilizar para la transferencia de archivos"</string>
+    <string name="bluetooth_hid_profile_summary_use_for" msgid="232727040453645139">"Utilizar para entrada"</string>
     <string name="bluetooth_dock_settings" msgid="3218335822716052885">"Configuración de la base"</string>
     <string name="bluetooth_dock_settings_title" msgid="5543069893044375188">"Utilizar la base para el audio"</string>
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Como altavoz"</string>
@@ -496,8 +540,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"Estado"</string>
     <string name="device_status" msgid="607405385799807324">"Estado"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Número de teléfono, señal, etc."</string>
-    <string name="storage_settings" msgid="6681164315506788024">"Tarjeta SD y almac."</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"Configuración de la tarjeta SD y del almacenamiento del teléfono"</string>
+    <!-- no translation found for storage_settings (4211799979832404953) -->
+    <skip />
+    <!-- no translation found for storage_settings_title (8746016738388094064) -->
+    <skip />
     <string name="storage_settings_summary" msgid="9176693537325988610">"Desmontar tarjeta SD, ver espacio de almacenamiento disponible"</string>
     <string name="status_number" msgid="5123197324870153205">"Mi número de teléfono"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
@@ -588,12 +634,27 @@
     <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>
+    <!-- no translation found for tether_settings_title_usb (6688416425801386511) -->
+    <skip />
     <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>
+    <!-- no translation found for tether_settings_title_bluetooth (355855408317564420) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_usb_bluetooth (5355828977109785001) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_all (8356136101061143841) -->
+    <skip />
     <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>
+    <!-- no translation found for tether_settings_summary_bluetooth (4363059913219151114) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_wifi (3700323208282018772) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_bluetooth (4008195891276675882) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_wifi_bluetooth (2753904149495692201) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_all (1171769255924636665) -->
+    <skip />
     <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,6 +662,24 @@
     <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>
+    <!-- no translation found for bluetooth_tether_checkbox_text (2379175828878753652) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_available_subtext (3317112145693933963) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_connected_subtext (893888246368164894) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_off_subtext (1798863866978968964) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_errored_subtext (1344187103463073993) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_overflow_error (2222060504731415763) -->
+    <skip />
+    <!-- no translation found for bluetooth_untether_blank (2871192409329334813) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_text (2273368767599539525) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_subtext (5970033999897946708) -->
+    <skip />
     <string name="tethering_help_button_text" msgid="656117495547173630">"Ayuda"</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>
@@ -824,6 +903,7 @@
     <string name="quick_launch_display_mode_applications" msgid="3748789806447639039">"Aplicaciones"</string>
     <string name="quick_launch_display_mode_shortcuts" msgid="4177934019174169042">"Accesos directos"</string>
     <string name="input_methods_settings_title" msgid="6800066636850553887">"Ingreso de texto"</string>
+    <string name="input_method" msgid="5434026103176856164">"Método de entrada"</string>
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Administrar opciones de ingreso de texto"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"Configuración de <xliff:g id="IME_NAME">%1$s</xliff:g>"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Configuración del teclado en pantalla"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index f296ef2..301655e 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -130,14 +130,23 @@
     <string name="intent_sender_startactivity_text" msgid="5080516029580421895">"Iniciar <xliff:g id="ACTIVITY">activity</xliff:g>"</string>
     <string name="intent_sender_resource_label" msgid="6963659726895482829">"<xliff:g id="RESOURCE">Resource</xliff:g>:"</string>
     <string name="intent_sender_account_label" msgid="465210404475603404">"Cuenta:"</string>
+    <!-- no translation found for proxy_settings_title (6262282922722097473) -->
+    <skip />
+    <!-- no translation found for proxy_settings_summary (7898928000758321486) -->
+    <skip />
     <string name="proxy_clear_text" msgid="5555400754952012657">"Borrar"</string>
     <string name="proxy_port_label" msgid="2623639656638472491">"Puerto"</string>
+    <!-- no translation found for proxy_exclusionlist_label (204409815790850313) -->
+    <skip />
     <string name="proxy_defaultView_text" msgid="6387985519141433291">"Restaurar valores predeterminados"</string>
-    <string name="proxy_action_text" msgid="477348175123635416">"Guardar"</string>
+    <!-- no translation found for proxy_action_text (2957063145357903951) -->
+    <skip />
     <string name="proxy_hostname_label" msgid="7531298584350977540">"Nombre de host"</string>
     <string name="proxy_error" msgid="8926675299638611451">"Atención"</string>
     <string name="proxy_error_dismiss" msgid="4993171795485460060">"Aceptar"</string>
     <string name="proxy_error_invalid_host" msgid="9120776460063182119">"El nombre de host introducido no es válido."</string>
+    <!-- no translation found for proxy_error_invalid_exclusion_list (4753810662233875893) -->
+    <skip />
     <string name="proxy_error_empty_port" msgid="3525734169948795417">"Debes completar el campo de puerto."</string>
     <string name="proxy_error_empty_host_set_port" msgid="2451694104858226781">"El campo de portal debe estar vacío si el campo de host también lo está."</string>
     <string name="proxy_error_invalid_port" msgid="1816315605424943626">"El puerto introducido no es válido."</string>
@@ -189,8 +198,7 @@
     <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"Buscando medios en tarjeta SD..."</string>
     <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"Tarjeta SD activada en modo de solo lectura"</string>
     <string name="next_label" msgid="4693520878012668114">"Siguiente"</string>
-    <string name="language_picker_title" msgid="4034157617842965844">"Configuración regional"</string>
-    <string name="select_your_language" msgid="1146235168951906084">"Selecciona el idioma que prefieras."</string>
+    <string name="language_picker_title" msgid="5349877711342869319">"Idioma"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Seleccionar actividad"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Información del dispositivo"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Información sobre la batería"</string>
@@ -257,15 +265,41 @@
     <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Cambiar contraseña de desbloqueo"</string>
     <string name="lockpassword_password_too_short" msgid="7328975683669256660">"La contraseña debe contener al menos %d caracteres."</string>
     <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"El PIN debe contener al menos %d caracteres."</string>
-    <string name="lockpassword_press_continue" msgid="6506047902828925216">"Pulsar \"Continuar\" al terminar"</string>
+    <string name="lockpassword_press_continue" msgid="122706614386757182">"Tocar \"Continuar\" al terminar"</string>
     <string name="lockpassword_continue_label" msgid="4602203784934526940">"Continuar"</string>
     <string name="lockpassword_password_too_long" msgid="7354418473281442589">"El PIN no puede tener más de %d dígitos."</string>
     <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"El PIN no puede tener más de %d dígitos."</string>
     <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"El PIN solo debe contener dígitos comprendidos entre el cero y el nueve."</string>
+    <string name="lockpassword_pin_recently_used" msgid="2729073062730842496">"Administrador de dispositivos no permite usar PIN reciente"</string>
     <string name="lockpassword_illegal_character" msgid="6204396794254688549">"La contraseña contiene un carácter no permitido."</string>
     <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"La contraseña debe contener al menos una letra."</string>
     <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"La contraseña debe contener al menos un dígito."</string>
     <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"La contraseña debe contener al menos un símbolo."</string>
+  <plurals name="lockpassword_password_requires_letters">
+    <item quantity="one" msgid="1462968118065694590">"La contraseña debe tener al menos una letra."</item>
+    <item quantity="other" msgid="7278096339907683541">"La contraseña debe tener al menos %d letras."</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_lowercase">
+    <item quantity="one" msgid="2048653993044269649">"La contraseña debe tener al menos una letra minúscula."</item>
+    <item quantity="other" msgid="588499075580432178">"La contraseña debe tener al menos %d letras minúsculas."</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_uppercase">
+    <item quantity="one" msgid="7677454174080582601">"La contraseña debe tener al menos una letra mayúscula."</item>
+    <item quantity="other" msgid="2183090598541826806">"La contraseña debe tener al menos %d letras mayúsculas."</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_numeric">
+    <item quantity="one" msgid="8585088032818933985">"La contraseña debe tener al menos un dígito."</item>
+    <item quantity="other" msgid="995673409754935278">"La contraseña debe tener al menos %d dígitos."</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_symbols">
+    <item quantity="one" msgid="3930886641317826293">"La contraseña debe tener al menos un símbolo especial."</item>
+    <item quantity="other" msgid="3047460862484105274">"La contraseña debe tener al menos %d símbolos especiales."</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_nonletter">
+    <item quantity="one" msgid="1716355580615489062">"La contraseña debe tener al menos un carácter no alfabético."</item>
+    <item quantity="other" msgid="5574191164708145973">"La contraseña debe tener al menos %d caracteres no alfabéticos."</item>
+  </plurals>
+    <string name="lockpassword_password_recently_used" msgid="2739642871806935825">"Administrador de dispositivos no permite contraseña reciente."</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"Aceptar"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Cancelar"</string>
     <string name="device_admin_title" msgid="3562216873644263804">"Administración de dispositivos"</string>
@@ -303,9 +337,15 @@
     <string name="bluetooth_profile_a2dp" msgid="3259633293424539529">"Multimedia"</string>
     <string name="bluetooth_profile_headset" msgid="1874975688666658946">"Teléfono"</string>
     <string name="bluetooth_profile_opp" msgid="3799470046565284440">"Transferencia"</string>
+    <string name="bluetooth_profile_hid" msgid="3000858580917633478">"Dispositivo de entrada"</string>
+    <!-- no translation found for bluetooth_profile_pan (4225813400648547154) -->
+    <skip />
     <string name="bluetooth_summary_connected_to_a2dp" msgid="510833839847758664">"Conectado al audio del medio"</string>
     <string name="bluetooth_summary_connected_to_headset" msgid="4876496372728623918">"Conectado al audio del teléfono"</string>
     <string name="bluetooth_summary_connected_to_a2dp_headset" msgid="3045032710457800891">"Conectado a audio de medio y del teléfono"</string>
+    <string name="bluetooth_summary_connected_to_hid" msgid="8147499644396475561">"Conectado a dispositivo de entrada"</string>
+    <!-- no translation found for bluetooth_summary_connected_to_pan (3157622705092537266) -->
+    <skip />
     <string name="bluetooth_device_advanced_title" msgid="528816860793581131">"Opciones de <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="bluetooth_device_advanced_online_mode_title" msgid="3689050071425683114">"Establecer conexión"</string>
     <string name="bluetooth_device_advanced_online_mode_summary" msgid="1204424107263248336">"Establecer conexión con dispositivo Bluetooth"</string>
@@ -314,9 +354,13 @@
     <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Conectado al audio del teléfono"</string>
     <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Conectado con el servidor de transferencia de archivos"</string>
     <string name="bluetooth_opp_profile_summary_not_connected" msgid="1267091356089086285">"Sin conexión con el servidor de transferencia de archivos"</string>
+    <string name="bluetooth_hid_profile_summary_connected" msgid="3381760054215168689">"Conectado a dispositivo de entrada"</string>
+    <!-- no translation found for bluetooth_pan_profile_summary_connected (7456487225516323485) -->
+    <skip />
     <string name="bluetooth_a2dp_profile_summary_use_for" msgid="4630849022250168427">"Utilizar para audio de medio"</string>
     <string name="bluetooth_headset_profile_summary_use_for" msgid="8705753622443862627">"Utilizar para audio del teléfono"</string>
     <string name="bluetooth_opp_profile_summary_use_for" msgid="1255674547144769756">"Uso de la transferencia de archivos"</string>
+    <string name="bluetooth_hid_profile_summary_use_for" msgid="232727040453645139">"Usar para introducción"</string>
     <string name="bluetooth_dock_settings" msgid="3218335822716052885">"Ajustes del conector"</string>
     <string name="bluetooth_dock_settings_title" msgid="5543069893044375188">"Uso del conector para audio"</string>
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Como altavoz del teléfono"</string>
@@ -496,8 +540,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"Estado"</string>
     <string name="device_status" msgid="607405385799807324">"Estado"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Número de teléfono, señal, etc."</string>
-    <string name="storage_settings" msgid="6681164315506788024">"Almacenamiento"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"Almacenamiento en teléf y tarjeta SD"</string>
+    <!-- no translation found for storage_settings (4211799979832404953) -->
+    <skip />
+    <!-- no translation found for storage_settings_title (8746016738388094064) -->
+    <skip />
     <string name="storage_settings_summary" msgid="9176693537325988610">"Desactivar tarjeta SD, ver almacenamiento disponible."</string>
     <string name="status_number" msgid="5123197324870153205">"Mi número de teléfono"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
@@ -588,12 +634,27 @@
     <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>
+    <!-- no translation found for tether_settings_title_usb (6688416425801386511) -->
+    <skip />
     <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>
+    <!-- no translation found for tether_settings_title_bluetooth (355855408317564420) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_usb_bluetooth (5355828977109785001) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_all (8356136101061143841) -->
+    <skip />
     <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>
+    <!-- no translation found for tether_settings_summary_bluetooth (4363059913219151114) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_wifi (3700323208282018772) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_bluetooth (4008195891276675882) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_wifi_bluetooth (2753904149495692201) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_all (1171769255924636665) -->
+    <skip />
     <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,6 +662,24 @@
     <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>
+    <!-- no translation found for bluetooth_tether_checkbox_text (2379175828878753652) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_available_subtext (3317112145693933963) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_connected_subtext (893888246368164894) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_off_subtext (1798863866978968964) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_errored_subtext (1344187103463073993) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_overflow_error (2222060504731415763) -->
+    <skip />
+    <!-- no translation found for bluetooth_untether_blank (2871192409329334813) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_text (2273368767599539525) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_subtext (5970033999897946708) -->
+    <skip />
     <string name="tethering_help_button_text" msgid="656117495547173630">"Ayuda"</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>
@@ -824,6 +903,7 @@
     <string name="quick_launch_display_mode_applications" msgid="3748789806447639039">"Aplicaciones"</string>
     <string name="quick_launch_display_mode_shortcuts" msgid="4177934019174169042">"Accesos directos"</string>
     <string name="input_methods_settings_title" msgid="6800066636850553887">"Introducción de texto"</string>
+    <string name="input_method" msgid="5434026103176856164">"Introducción de texto"</string>
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Administrar opciones de introducción de texto"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"Ajustes de <xliff:g id="IME_NAME">%1$s</xliff:g>"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Ajustes de teclado en pantalla"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index d3e45e6..76d1bd5 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -130,14 +130,23 @@
     <string name="intent_sender_startactivity_text" msgid="5080516029580421895">"Démarrer <xliff:g id="ACTIVITY">activity</xliff:g>"</string>
     <string name="intent_sender_resource_label" msgid="6963659726895482829">"<xliff:g id="RESOURCE">Resource</xliff:g>:"</string>
     <string name="intent_sender_account_label" msgid="465210404475603404">"Compte :"</string>
+    <!-- no translation found for proxy_settings_title (6262282922722097473) -->
+    <skip />
+    <!-- no translation found for proxy_settings_summary (7898928000758321486) -->
+    <skip />
     <string name="proxy_clear_text" msgid="5555400754952012657">"Effacer"</string>
     <string name="proxy_port_label" msgid="2623639656638472491">"Port"</string>
+    <!-- no translation found for proxy_exclusionlist_label (204409815790850313) -->
+    <skip />
     <string name="proxy_defaultView_text" msgid="6387985519141433291">"Rétablir les paramètres par défaut"</string>
-    <string name="proxy_action_text" msgid="477348175123635416">"Enregistrer"</string>
+    <!-- no translation found for proxy_action_text (2957063145357903951) -->
+    <skip />
     <string name="proxy_hostname_label" msgid="7531298584350977540">"Nom de l\'hôte"</string>
     <string name="proxy_error" msgid="8926675299638611451">"Avertissement"</string>
     <string name="proxy_error_dismiss" msgid="4993171795485460060">"OK"</string>
     <string name="proxy_error_invalid_host" msgid="9120776460063182119">"Le nom d\'hôte saisi n\'est pas valide."</string>
+    <!-- no translation found for proxy_error_invalid_exclusion_list (4753810662233875893) -->
+    <skip />
     <string name="proxy_error_empty_port" msgid="3525734169948795417">"Vous devez renseigner le champ Port."</string>
     <string name="proxy_error_empty_host_set_port" msgid="2451694104858226781">"Le champ Port doit rester vide si le champ Hôte n\'est pas renseigné."</string>
     <string name="proxy_error_invalid_port" msgid="1816315605424943626">"Le port indiqué n\'est pas valide."</string>
@@ -189,8 +198,7 @@
     <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"Recherche de fichiers multimédias 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>
-    <string name="select_your_language" msgid="1146235168951906084">"Choisir la langue"</string>
+    <string name="language_picker_title" msgid="5349877711342869319">"Langue"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Sélectionner une activité"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Informations sur l\'appareil"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Informations sur la batterie"</string>
@@ -257,15 +265,41 @@
     <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Modifier le mot de passe de déverrouillage"</string>
     <string name="lockpassword_password_too_short" msgid="7328975683669256660">"Le mot de passe doit comporter au moins %d caractères."</string>
     <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"Le code PIN doit comporter au moins %d caractères."</string>
-    <string name="lockpassword_press_continue" msgid="6506047902828925216">"Appuyez sur Continuer une fois l\'opération terminée."</string>
+    <string name="lockpassword_press_continue" msgid="122706614386757182">"Appuyez sur Continuer une fois l\'opération terminée."</string>
     <string name="lockpassword_continue_label" msgid="4602203784934526940">"Continuer"</string>
     <string name="lockpassword_password_too_long" msgid="7354418473281442589">"Le code PIN ne doit pas contenir plus de %d chiffres."</string>
     <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"Le code PIN ne doit pas contenir plus de %d chiffres."</string>
     <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"Le code PIN ne doit contenir que des chiffres compris entre 0 et 9."</string>
+    <string name="lockpassword_pin_recently_used" msgid="2729073062730842496">"Code PIN récent refusé par admin. périphérique"</string>
     <string name="lockpassword_illegal_character" msgid="6204396794254688549">"Le mot de passe contient un caractère non autorisé."</string>
     <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"Le mot de passe doit comporter au moins une lettre."</string>
     <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"Le mot de passe doit comporter au moins un chiffre."</string>
     <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"Le mot de passe doit comporter au moins un symbole."</string>
+  <plurals name="lockpassword_password_requires_letters">
+    <item quantity="one" msgid="1462968118065694590">"Le mot de passe doit comporter au moins une lettre."</item>
+    <item quantity="other" msgid="7278096339907683541">"Le mot de passe doit comporter au moins %d lettres."</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_lowercase">
+    <item quantity="one" msgid="2048653993044269649">"Le mot de passe doit comporter au moins une lettre minuscule."</item>
+    <item quantity="other" msgid="588499075580432178">"Le mot de passe doit comporter au moins %d lettres minuscules."</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_uppercase">
+    <item quantity="one" msgid="7677454174080582601">"Le mot de passe doit comporter au moins une lettre majuscule."</item>
+    <item quantity="other" msgid="2183090598541826806">"Le mot de passe doit comporter au moins %d lettres majuscules."</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_numeric">
+    <item quantity="one" msgid="8585088032818933985">"Le mot de passe doit comporter au moins un chiffre."</item>
+    <item quantity="other" msgid="995673409754935278">"Le mot de passe doit comporter au moins %d chiffres."</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_symbols">
+    <item quantity="one" msgid="3930886641317826293">"Le mot de passe doit comporter au moins un symbole."</item>
+    <item quantity="other" msgid="3047460862484105274">"Le mot de passe doit comporter au moins %d symboles."</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_nonletter">
+    <item quantity="one" msgid="1716355580615489062">"Le mot de passe doit comporter au moins 1 caractère ne correspondant pas à une lettre."</item>
+    <item quantity="other" msgid="5574191164708145973">"Le mot de passe doit comporter au moins %d caractères ne correspondant pas à des lettres."</item>
+  </plurals>
+    <string name="lockpassword_password_recently_used" msgid="2739642871806935825">"Mot de passe récent refusé par admin. périphérique"</string>
     <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>
@@ -303,9 +337,15 @@
     <string name="bluetooth_profile_a2dp" msgid="3259633293424539529">"Multimédia"</string>
     <string name="bluetooth_profile_headset" msgid="1874975688666658946">"Téléphone"</string>
     <string name="bluetooth_profile_opp" msgid="3799470046565284440">"Transfert"</string>
+    <string name="bluetooth_profile_hid" msgid="3000858580917633478">"Périphérique d\'entrée"</string>
+    <!-- no translation found for bluetooth_profile_pan (4225813400648547154) -->
+    <skip />
     <string name="bluetooth_summary_connected_to_a2dp" msgid="510833839847758664">"Connecté aux paramètres audio du média"</string>
     <string name="bluetooth_summary_connected_to_headset" msgid="4876496372728623918">"Connecté aux paramètres audio du téléphone"</string>
     <string name="bluetooth_summary_connected_to_a2dp_headset" msgid="3045032710457800891">"Connecté aux paramètres audio du téléphone et du média"</string>
+    <string name="bluetooth_summary_connected_to_hid" msgid="8147499644396475561">"Connecté au périphérique d\'entrée"</string>
+    <!-- no translation found for bluetooth_summary_connected_to_pan (3157622705092537266) -->
+    <skip />
     <string name="bluetooth_device_advanced_title" msgid="528816860793581131">"Options de <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="bluetooth_device_advanced_online_mode_title" msgid="3689050071425683114">"Se connecter"</string>
     <string name="bluetooth_device_advanced_online_mode_summary" msgid="1204424107263248336">"Connecter à un appareil Bluetooth"</string>
@@ -314,9 +354,13 @@
     <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Connecté aux paramètres audio du téléphone"</string>
     <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Connexion au serveur de transfert de fichiers"</string>
     <string name="bluetooth_opp_profile_summary_not_connected" msgid="1267091356089086285">"Connexion au serveur de transfert de fichiers non établie"</string>
+    <string name="bluetooth_hid_profile_summary_connected" msgid="3381760054215168689">"Connecté au périphérique d\'entrée"</string>
+    <!-- no translation found for bluetooth_pan_profile_summary_connected (7456487225516323485) -->
+    <skip />
     <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_hid_profile_summary_use_for" msgid="232727040453645139">"Utiliser comme entrée"</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_headset" msgid="1001821426078644650">"Comme téléphone à haut-parleur"</string>
@@ -496,8 +540,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"État"</string>
     <string name="device_status" msgid="607405385799807324">"État"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Numéro de téléphone, signal, etc."</string>
-    <string name="storage_settings" msgid="6681164315506788024">"Carte SD et mémoire"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"Carte SD et paramètres mémoire du tél."</string>
+    <!-- no translation found for storage_settings (4211799979832404953) -->
+    <skip />
+    <!-- no translation found for storage_settings_title (8746016738388094064) -->
+    <skip />
     <string name="storage_settings_summary" msgid="9176693537325988610">"Retirer la carte SD, afficher la mémoire disponible"</string>
     <string name="status_number" msgid="5123197324870153205">"Mon numéro de téléphone"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
@@ -588,12 +634,27 @@
     <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>
+    <!-- no translation found for tether_settings_title_usb (6688416425801386511) -->
+    <skip />
     <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>
+    <!-- no translation found for tether_settings_title_bluetooth (355855408317564420) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_usb_bluetooth (5355828977109785001) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_all (8356136101061143841) -->
+    <skip />
     <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>
+    <!-- no translation found for tether_settings_summary_bluetooth (4363059913219151114) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_wifi (3700323208282018772) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_bluetooth (4008195891276675882) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_wifi_bluetooth (2753904149495692201) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_all (1171769255924636665) -->
+    <skip />
     <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,6 +662,24 @@
     <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>
+    <!-- no translation found for bluetooth_tether_checkbox_text (2379175828878753652) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_available_subtext (3317112145693933963) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_connected_subtext (893888246368164894) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_off_subtext (1798863866978968964) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_errored_subtext (1344187103463073993) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_overflow_error (2222060504731415763) -->
+    <skip />
+    <!-- no translation found for bluetooth_untether_blank (2871192409329334813) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_text (2273368767599539525) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_subtext (5970033999897946708) -->
+    <skip />
     <string name="tethering_help_button_text" msgid="656117495547173630">"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>
@@ -824,6 +903,7 @@
     <string name="quick_launch_display_mode_applications" msgid="3748789806447639039">"Applications"</string>
     <string name="quick_launch_display_mode_shortcuts" msgid="4177934019174169042">"Raccourcis"</string>
     <string name="input_methods_settings_title" msgid="6800066636850553887">"Saisie de texte"</string>
+    <string name="input_method" msgid="5434026103176856164">"Mode de saisie"</string>
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Gérer les options de saisie de texte"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"Paramètres <xliff:g id="IME_NAME">%1$s</xliff:g>"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Paramètres du clavier intégré"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index b7d3ab1..2ad686b 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -130,14 +130,23 @@
     <string name="intent_sender_startactivity_text" msgid="5080516029580421895">"Inizia <xliff:g id="ACTIVITY">activity</xliff:g>"</string>
     <string name="intent_sender_resource_label" msgid="6963659726895482829">"<xliff:g id="RESOURCE">Resource</xliff:g>:"</string>
     <string name="intent_sender_account_label" msgid="465210404475603404">"Account:"</string>
+    <!-- no translation found for proxy_settings_title (6262282922722097473) -->
+    <skip />
+    <!-- no translation found for proxy_settings_summary (7898928000758321486) -->
+    <skip />
     <string name="proxy_clear_text" msgid="5555400754952012657">"Cancella"</string>
     <string name="proxy_port_label" msgid="2623639656638472491">"Porta"</string>
+    <!-- no translation found for proxy_exclusionlist_label (204409815790850313) -->
+    <skip />
     <string name="proxy_defaultView_text" msgid="6387985519141433291">"Ripristina predefinite"</string>
-    <string name="proxy_action_text" msgid="477348175123635416">"Salva"</string>
+    <!-- no translation found for proxy_action_text (2957063145357903951) -->
+    <skip />
     <string name="proxy_hostname_label" msgid="7531298584350977540">"Nome host"</string>
     <string name="proxy_error" msgid="8926675299638611451">"Attenzione"</string>
     <string name="proxy_error_dismiss" msgid="4993171795485460060">"OK"</string>
     <string name="proxy_error_invalid_host" msgid="9120776460063182119">"Il nome host specificato non è valido."</string>
+    <!-- no translation found for proxy_error_invalid_exclusion_list (4753810662233875893) -->
+    <skip />
     <string name="proxy_error_empty_port" msgid="3525734169948795417">"Inserisci un valore nel campo Porta."</string>
     <string name="proxy_error_empty_host_set_port" msgid="2451694104858226781">"Il campo Porta deve essere vuoto se il campo Host è vuoto."</string>
     <string name="proxy_error_invalid_port" msgid="1816315605424943626">"La porta specificata non è valida."</string>
@@ -189,8 +198,7 @@
     <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"Ricerca di media nella scheda SD..."</string>
     <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"La scheda SD montata è di sola lettura"</string>
     <string name="next_label" msgid="4693520878012668114">"Avanti"</string>
-    <string name="language_picker_title" msgid="4034157617842965844">"Impostazioni internazionali"</string>
-    <string name="select_your_language" msgid="1146235168951906084">"Seleziona la lingua"</string>
+    <string name="language_picker_title" msgid="5349877711342869319">"Lingua"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Seleziona attività"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Info dispositivo"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Info batteria"</string>
@@ -257,15 +265,41 @@
     <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Cambia password di sblocco"</string>
     <string name="lockpassword_password_too_short" msgid="7328975683669256660">"La password deve essere lunga almeno %d caratteri"</string>
     <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"Il PIN deve essere lungo almeno %d caratteri"</string>
-    <string name="lockpassword_press_continue" msgid="6506047902828925216">"Al termine, premi Continua"</string>
+    <string name="lockpassword_press_continue" msgid="122706614386757182">"Al termine, tocca Continua"</string>
     <string name="lockpassword_continue_label" msgid="4602203784934526940">"Continua"</string>
     <string name="lockpassword_password_too_long" msgid="7354418473281442589">"Il PIN non può superare %d cifre"</string>
     <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"Il PIN non può superare %d cifre"</string>
     <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"Il PIN deve contenere solo cifre da 0 a 9"</string>
+    <string name="lockpassword_pin_recently_used" msgid="2729073062730842496">"L\'amministratore del dispositivo non consente l\'utilizzo di un PIN recente"</string>
     <string name="lockpassword_illegal_character" msgid="6204396794254688549">"La password contiene un carattere non valido"</string>
     <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"La password deve contenere almeno una lettera"</string>
     <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"La password deve contenere almeno una cifra"</string>
     <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"La password deve contenere almeno un simbolo"</string>
+  <plurals name="lockpassword_password_requires_letters">
+    <item quantity="one" msgid="1462968118065694590">"La password deve contenere almeno una lettera"</item>
+    <item quantity="other" msgid="7278096339907683541">"La password deve contenere almeno %d lettere"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_lowercase">
+    <item quantity="one" msgid="2048653993044269649">"La password deve contenere almeno una lettera minuscola"</item>
+    <item quantity="other" msgid="588499075580432178">"La password deve contenere almeno %d lettere minuscole"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_uppercase">
+    <item quantity="one" msgid="7677454174080582601">"La password deve contenere almeno una lettera maiuscola"</item>
+    <item quantity="other" msgid="2183090598541826806">"La password deve contenere almeno %d lettere maiuscole"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_numeric">
+    <item quantity="one" msgid="8585088032818933985">"La password deve contenere almeno una cifra numerica"</item>
+    <item quantity="other" msgid="995673409754935278">"La password deve contenere almeno %d cifre numeriche"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_symbols">
+    <item quantity="one" msgid="3930886641317826293">"La password deve contenere almeno un simbolo speciale"</item>
+    <item quantity="other" msgid="3047460862484105274">"La password deve contenere almeno %d simboli speciali"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_nonletter">
+    <item quantity="one" msgid="1716355580615489062">"La password deve contenere almeno un carattere non costituito da una lettera"</item>
+    <item quantity="other" msgid="5574191164708145973">"La password deve essere lunga almeno %d caratteri non costituiti da lettere"</item>
+  </plurals>
+    <string name="lockpassword_password_recently_used" msgid="2739642871806935825">"L\'amministratore del dispositivo non consente l\'utilizzo di una password recente"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Annulla"</string>
     <string name="device_admin_title" msgid="3562216873644263804">"Amministrazione dispositivo"</string>
@@ -303,9 +337,15 @@
     <string name="bluetooth_profile_a2dp" msgid="3259633293424539529">"Multimediali"</string>
     <string name="bluetooth_profile_headset" msgid="1874975688666658946">"Telefono"</string>
     <string name="bluetooth_profile_opp" msgid="3799470046565284440">"Trasferisci"</string>
+    <string name="bluetooth_profile_hid" msgid="3000858580917633478">"Dispositivo di input"</string>
+    <!-- no translation found for bluetooth_profile_pan (4225813400648547154) -->
+    <skip />
     <string name="bluetooth_summary_connected_to_a2dp" msgid="510833839847758664">"Collegato ad audio media"</string>
     <string name="bluetooth_summary_connected_to_headset" msgid="4876496372728623918">"Collegato ad audio telefono"</string>
     <string name="bluetooth_summary_connected_to_a2dp_headset" msgid="3045032710457800891">"Collegato ad audio telefono e media"</string>
+    <string name="bluetooth_summary_connected_to_hid" msgid="8147499644396475561">"Connesso a dispositivo di input"</string>
+    <!-- no translation found for bluetooth_summary_connected_to_pan (3157622705092537266) -->
+    <skip />
     <string name="bluetooth_device_advanced_title" msgid="528816860793581131">"Opzioni <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="bluetooth_device_advanced_online_mode_title" msgid="3689050071425683114">"Connetti"</string>
     <string name="bluetooth_device_advanced_online_mode_summary" msgid="1204424107263248336">"Connessione a dispositivo Bluetooth"</string>
@@ -314,9 +354,13 @@
     <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Collegato ad audio telefono"</string>
     <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Collegato al server di trasferimento file"</string>
     <string name="bluetooth_opp_profile_summary_not_connected" msgid="1267091356089086285">"Non collegato al server di trasferimento file"</string>
+    <string name="bluetooth_hid_profile_summary_connected" msgid="3381760054215168689">"Connesso a dispositivo di input"</string>
+    <!-- no translation found for bluetooth_pan_profile_summary_connected (7456487225516323485) -->
+    <skip />
     <string name="bluetooth_a2dp_profile_summary_use_for" msgid="4630849022250168427">"Usa per audio media"</string>
     <string name="bluetooth_headset_profile_summary_use_for" msgid="8705753622443862627">"Usa per audio telefono"</string>
     <string name="bluetooth_opp_profile_summary_use_for" msgid="1255674547144769756">"Usa per trasferimento file"</string>
+    <string name="bluetooth_hid_profile_summary_use_for" msgid="232727040453645139">"Utilizza per l\'input"</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>
@@ -496,8 +540,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"Stato"</string>
     <string name="device_status" msgid="607405385799807324">"Stato"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Numero di telefono, segnale ecc."</string>
-    <string name="storage_settings" msgid="6681164315506788024">"Scheda SD e memoria"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"Impostazioni scheda SD e memoria"</string>
+    <!-- no translation found for storage_settings (4211799979832404953) -->
+    <skip />
+    <!-- no translation found for storage_settings_title (8746016738388094064) -->
+    <skip />
     <string name="storage_settings_summary" msgid="9176693537325988610">"Smonta la scheda SD, visualizza spazio di archiviazione disponibile"</string>
     <string name="status_number" msgid="5123197324870153205">"Il mio numero di telefono"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
@@ -588,12 +634,27 @@
     <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>
+    <!-- no translation found for tether_settings_title_usb (6688416425801386511) -->
+    <skip />
     <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Hotspot portatile"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"Tethering e hotspot portatile"</string>
+    <!-- no translation found for tether_settings_title_bluetooth (355855408317564420) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_usb_bluetooth (5355828977109785001) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_all (8356136101061143841) -->
+    <skip />
     <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>
+    <!-- no translation found for tether_settings_summary_bluetooth (4363059913219151114) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_wifi (3700323208282018772) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_bluetooth (4008195891276675882) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_wifi_bluetooth (2753904149495692201) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_all (1171769255924636665) -->
+    <skip />
     <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,6 +662,24 @@
     <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>
+    <!-- no translation found for bluetooth_tether_checkbox_text (2379175828878753652) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_available_subtext (3317112145693933963) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_connected_subtext (893888246368164894) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_off_subtext (1798863866978968964) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_errored_subtext (1344187103463073993) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_overflow_error (2222060504731415763) -->
+    <skip />
+    <!-- no translation found for bluetooth_untether_blank (2871192409329334813) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_text (2273368767599539525) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_subtext (5970033999897946708) -->
+    <skip />
     <string name="tethering_help_button_text" msgid="656117495547173630">"Guida"</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>
@@ -824,6 +903,7 @@
     <string name="quick_launch_display_mode_applications" msgid="3748789806447639039">"Applicazioni"</string>
     <string name="quick_launch_display_mode_shortcuts" msgid="4177934019174169042">"Scorciatoie"</string>
     <string name="input_methods_settings_title" msgid="6800066636850553887">"Inserimento testo"</string>
+    <string name="input_method" msgid="5434026103176856164">"Metodo inserimento"</string>
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Gestisci opzioni inserimento testo"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"Impostazioni di <xliff:g id="IME_NAME">%1$s</xliff:g>"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Impostazioni tastiera sullo schermo"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index b2d0895..d4da77b 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -130,14 +130,23 @@
     <string name="intent_sender_startactivity_text" msgid="5080516029580421895">"<xliff:g id="ACTIVITY">activity</xliff:g>を開始"</string>
     <string name="intent_sender_resource_label" msgid="6963659726895482829">"<xliff:g id="RESOURCE">Resource</xliff:g>:"</string>
     <string name="intent_sender_account_label" msgid="465210404475603404">"アカウント:"</string>
+    <!-- no translation found for proxy_settings_title (6262282922722097473) -->
+    <skip />
+    <!-- no translation found for proxy_settings_summary (7898928000758321486) -->
+    <skip />
     <string name="proxy_clear_text" msgid="5555400754952012657">"消去"</string>
     <string name="proxy_port_label" msgid="2623639656638472491">"ポート"</string>
+    <!-- no translation found for proxy_exclusionlist_label (204409815790850313) -->
+    <skip />
     <string name="proxy_defaultView_text" msgid="6387985519141433291">"初期設定に戻す"</string>
-    <string name="proxy_action_text" msgid="477348175123635416">"保存"</string>
+    <!-- no translation found for proxy_action_text (2957063145357903951) -->
+    <skip />
     <string name="proxy_hostname_label" msgid="7531298584350977540">"ホスト名"</string>
     <string name="proxy_error" msgid="8926675299638611451">"注意"</string>
     <string name="proxy_error_dismiss" msgid="4993171795485460060">"OK"</string>
     <string name="proxy_error_invalid_host" msgid="9120776460063182119">"入力したホスト名は無効です。"</string>
+    <!-- no translation found for proxy_error_invalid_exclusion_list (4753810662233875893) -->
+    <skip />
     <string name="proxy_error_empty_port" msgid="3525734169948795417">"[ポート]フィールドに入力してください。"</string>
     <string name="proxy_error_empty_host_set_port" msgid="2451694104858226781">"[ホスト]フィールドが空の場合は、[ポート]フィールドも空にしてください。"</string>
     <string name="proxy_error_invalid_port" msgid="1816315605424943626">"入力したポートは無効です。"</string>
@@ -189,8 +198,7 @@
     <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"メディア用のSDカードをスキャン中..."</string>
     <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"読み取り専用としてSDカードをマウントしました"</string>
     <string name="next_label" msgid="4693520878012668114">"次へ"</string>
-    <string name="language_picker_title" msgid="4034157617842965844">"地域/言語"</string>
-    <string name="select_your_language" msgid="1146235168951906084">"言語を選択"</string>
+    <string name="language_picker_title" msgid="5349877711342869319">"言語"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"操作の選択"</string>
     <string name="device_info_label" msgid="6551553813651711205">"端末情報"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"電池情報"</string>
@@ -257,15 +265,41 @@
     <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"ロック解除パスワードの変更"</string>
     <string name="lockpassword_password_too_short" msgid="7328975683669256660">"パスワードを%d文字以上で入力してください"</string>
     <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"PINを%d文字以上で入力してください"</string>
-    <string name="lockpassword_press_continue" msgid="6506047902828925216">"終了後[次へ]をタップ"</string>
+    <string name="lockpassword_press_continue" msgid="122706614386757182">"終了後[次へ]をタップ"</string>
     <string name="lockpassword_continue_label" msgid="4602203784934526940">"次へ"</string>
     <string name="lockpassword_password_too_long" msgid="7354418473281442589">"PINは%d桁以内で指定してください"</string>
     <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"PINは%d桁以内で指定してください"</string>
     <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"PINに使用できるのは数字0～9のみです"</string>
+    <string name="lockpassword_pin_recently_used" msgid="2729073062730842496">"最近使用されたPINは使用できません"</string>
     <string name="lockpassword_illegal_character" msgid="6204396794254688549">"パスワードに無効な文字が含まれています"</string>
     <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"パスワードには英字が1文字以上必要です"</string>
     <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"パスワードには数字が1つ以上必要です"</string>
     <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"パスワードには記号が1つ以上必要です"</string>
+  <plurals name="lockpassword_password_requires_letters">
+    <item quantity="one" msgid="1462968118065694590">"パスワードには英字が1文字以上必要です"</item>
+    <item quantity="other" msgid="7278096339907683541">"パスワードには英字が%d文字以上必要です"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_lowercase">
+    <item quantity="one" msgid="2048653993044269649">"パスワードには小文字の英字が1文字以上必要です"</item>
+    <item quantity="other" msgid="588499075580432178">"パスワードには小文字の英字が%d文字以上必要です"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_uppercase">
+    <item quantity="one" msgid="7677454174080582601">"パスワードには大文字の英字が1文字以上必要です"</item>
+    <item quantity="other" msgid="2183090598541826806">"パスワードには大文字の英字が%d文字以上必要です"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_numeric">
+    <item quantity="one" msgid="8585088032818933985">"パスワードには数字が1つ以上必要です"</item>
+    <item quantity="other" msgid="995673409754935278">"パスワードには数字が%d個以上必要です"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_symbols">
+    <item quantity="one" msgid="3930886641317826293">"パスワードには記号が1つ以上必要です"</item>
+    <item quantity="other" msgid="3047460862484105274">"パスワードには記号が%d個以上必要です"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_nonletter">
+    <item quantity="one" msgid="1716355580615489062">"パスワードには記号または数字が1つ以上必要です"</item>
+    <item quantity="other" msgid="5574191164708145973">"パスワードには記号または数字が%d個以上必要です"</item>
+  </plurals>
+    <string name="lockpassword_password_recently_used" msgid="2739642871806935825">"最近使用されたパスワードは使用できません"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"キャンセル"</string>
     <string name="device_admin_title" msgid="3562216873644263804">"デバイス管理"</string>
@@ -303,9 +337,15 @@
     <string name="bluetooth_profile_a2dp" msgid="3259633293424539529">"メディア"</string>
     <string name="bluetooth_profile_headset" msgid="1874975688666658946">"電話"</string>
     <string name="bluetooth_profile_opp" msgid="3799470046565284440">"転送"</string>
+    <string name="bluetooth_profile_hid" msgid="3000858580917633478">"入力デバイス"</string>
+    <!-- no translation found for bluetooth_profile_pan (4225813400648547154) -->
+    <skip />
     <string name="bluetooth_summary_connected_to_a2dp" msgid="510833839847758664">"メディアの音声に接続"</string>
     <string name="bluetooth_summary_connected_to_headset" msgid="4876496372728623918">"携帯電話の音声に接続"</string>
     <string name="bluetooth_summary_connected_to_a2dp_headset" msgid="3045032710457800891">"携帯電話とメディアの音声に接続"</string>
+    <string name="bluetooth_summary_connected_to_hid" msgid="8147499644396475561">"入力デバイスに接続されています"</string>
+    <!-- no translation found for bluetooth_summary_connected_to_pan (3157622705092537266) -->
+    <skip />
     <string name="bluetooth_device_advanced_title" msgid="528816860793581131">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>オプション"</string>
     <string name="bluetooth_device_advanced_online_mode_title" msgid="3689050071425683114">"接続"</string>
     <string name="bluetooth_device_advanced_online_mode_summary" msgid="1204424107263248336">"Bluetoothデバイスに接続"</string>
@@ -314,9 +354,13 @@
     <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"携帯電話の音声に接続"</string>
     <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"ファイル転送サーバーに接続"</string>
     <string name="bluetooth_opp_profile_summary_not_connected" msgid="1267091356089086285">"ファイル転送サーバーに接続しない"</string>
+    <string name="bluetooth_hid_profile_summary_connected" msgid="3381760054215168689">"入力デバイスに接続されています"</string>
+    <!-- no translation found for bluetooth_pan_profile_summary_connected (7456487225516323485) -->
+    <skip />
     <string name="bluetooth_a2dp_profile_summary_use_for" msgid="4630849022250168427">"メディアの音声に使用"</string>
     <string name="bluetooth_headset_profile_summary_use_for" msgid="8705753622443862627">"携帯電話の音声に使用"</string>
     <string name="bluetooth_opp_profile_summary_use_for" msgid="1255674547144769756">"ファイル転送に使用"</string>
+    <string name="bluetooth_hid_profile_summary_use_for" msgid="232727040453645139">"入力に使用"</string>
     <string name="bluetooth_dock_settings" msgid="3218335822716052885">"ドックの設定"</string>
     <string name="bluetooth_dock_settings_title" msgid="5543069893044375188">"音声にドックを使用"</string>
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"スピーカーフォン"</string>
@@ -496,8 +540,10 @@
     <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">"SDカードと端末容量"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"SDカードと端末容量の設定"</string>
+    <!-- no translation found for storage_settings (4211799979832404953) -->
+    <skip />
+    <!-- no translation found for storage_settings_title (8746016738388094064) -->
+    <skip />
     <string name="storage_settings_summary" msgid="9176693537325988610">"SDカードの取り外し、空き容量の表示"</string>
     <string name="status_number" msgid="5123197324870153205">"電話番号"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
@@ -588,12 +634,27 @@
     <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>
+    <!-- no translation found for tether_settings_title_usb (6688416425801386511) -->
+    <skip />
     <string name="tether_settings_title_wifi" msgid="3277144155960302049">"ポータブルアクセスポイント"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"テザリングとポータブルアクセスポイント"</string>
+    <!-- no translation found for tether_settings_title_bluetooth (355855408317564420) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_usb_bluetooth (5355828977109785001) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_all (8356136101061143841) -->
+    <skip />
     <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>
+    <!-- no translation found for tether_settings_summary_bluetooth (4363059913219151114) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_wifi (3700323208282018772) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_bluetooth (4008195891276675882) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_wifi_bluetooth (2753904149495692201) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_all (1171769255924636665) -->
+    <skip />
     <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,6 +662,24 @@
     <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>
+    <!-- no translation found for bluetooth_tether_checkbox_text (2379175828878753652) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_available_subtext (3317112145693933963) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_connected_subtext (893888246368164894) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_off_subtext (1798863866978968964) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_errored_subtext (1344187103463073993) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_overflow_error (2222060504731415763) -->
+    <skip />
+    <!-- no translation found for bluetooth_untether_blank (2871192409329334813) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_text (2273368767599539525) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_subtext (5970033999897946708) -->
+    <skip />
     <string name="tethering_help_button_text" msgid="656117495547173630">"ヘルプ"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"モバイルネットワーク"</string>
     <string name="network_settings_summary" msgid="5149750850846813553">"ローミング、ネットワーク、APN設定"</string>
@@ -824,6 +903,7 @@
     <string name="quick_launch_display_mode_applications" msgid="3748789806447639039">"アプリケーション"</string>
     <string name="quick_launch_display_mode_shortcuts" msgid="4177934019174169042">"ショートカット"</string>
     <string name="input_methods_settings_title" msgid="6800066636850553887">"文字入力"</string>
+    <string name="input_method" msgid="5434026103176856164">"入力方法"</string>
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"テキスト入力オプションを管理"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"<xliff:g id="IME_NAME">%1$s</xliff:g>の設定"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"画面キーボードの設定"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 0fc26e2..bb13974 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -130,14 +130,23 @@
     <string name="intent_sender_startactivity_text" msgid="5080516029580421895">"<xliff:g id="ACTIVITY">activity</xliff:g> 시작"</string>
     <string name="intent_sender_resource_label" msgid="6963659726895482829">"<xliff:g id="RESOURCE">Resource</xliff:g>:"</string>
     <string name="intent_sender_account_label" msgid="465210404475603404">"계정:"</string>
+    <!-- no translation found for proxy_settings_title (6262282922722097473) -->
+    <skip />
+    <!-- no translation found for proxy_settings_summary (7898928000758321486) -->
+    <skip />
     <string name="proxy_clear_text" msgid="5555400754952012657">"지우기"</string>
     <string name="proxy_port_label" msgid="2623639656638472491">"포트"</string>
+    <!-- no translation found for proxy_exclusionlist_label (204409815790850313) -->
+    <skip />
     <string name="proxy_defaultView_text" msgid="6387985519141433291">"기본값 복원"</string>
-    <string name="proxy_action_text" msgid="477348175123635416">"저장"</string>
+    <!-- no translation found for proxy_action_text (2957063145357903951) -->
+    <skip />
     <string name="proxy_hostname_label" msgid="7531298584350977540">"호스트 이름"</string>
     <string name="proxy_error" msgid="8926675299638611451">"주의"</string>
     <string name="proxy_error_dismiss" msgid="4993171795485460060">"확인"</string>
     <string name="proxy_error_invalid_host" msgid="9120776460063182119">"입력한 호스트 이름이 잘못되었습니다."</string>
+    <!-- no translation found for proxy_error_invalid_exclusion_list (4753810662233875893) -->
+    <skip />
     <string name="proxy_error_empty_port" msgid="3525734169948795417">"포트 필드를 입력해야 합니다."</string>
     <string name="proxy_error_empty_host_set_port" msgid="2451694104858226781">"호스트 필드가 비어 있는 경우 포트 필드에 입력하면 안 됩니다."</string>
     <string name="proxy_error_invalid_port" msgid="1816315605424943626">"입력한 포트가 올바르지 않습니다."</string>
@@ -189,8 +198,7 @@
     <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"SD 카드에서 미디어 검색 중..."</string>
     <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"SD 카드가 읽기전용으로 마운트됨"</string>
     <string name="next_label" msgid="4693520878012668114">"다음"</string>
-    <string name="language_picker_title" msgid="4034157617842965844">"언어"</string>
-    <string name="select_your_language" msgid="1146235168951906084">"언어 선택"</string>
+    <string name="language_picker_title" msgid="5349877711342869319">"언어"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"활동 선택"</string>
     <string name="device_info_label" msgid="6551553813651711205">"장치정보"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"배터리 정보"</string>
@@ -257,15 +265,41 @@
     <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"잠금해제 비밀번호 변경"</string>
     <string name="lockpassword_password_too_short" msgid="7328975683669256660">"비밀번호는 %d자 이상이어야 합니다."</string>
     <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"PIN은 %d자 이상이어야 합니다."</string>
-    <string name="lockpassword_press_continue" msgid="6506047902828925216">"완료되면 계속을 누르세요."</string>
+    <string name="lockpassword_press_continue" msgid="122706614386757182">"완료되면 계속을 터치하세요."</string>
     <string name="lockpassword_continue_label" msgid="4602203784934526940">"계속"</string>
     <string name="lockpassword_password_too_long" msgid="7354418473281442589">"PIN은 %d자리 이하여야 합니다."</string>
     <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"PIN은 %d자리 이하여야 합니다."</string>
     <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"PIN에는 숫자 0-9만 사용할 수 있습니다."</string>
+    <string name="lockpassword_pin_recently_used" msgid="2729073062730842496">"장치 관리자가 최근 PIN 사용을 허용하지 않습니다."</string>
     <string name="lockpassword_illegal_character" msgid="6204396794254688549">"비밀번호에 잘못된 글자가 들어 있습니다."</string>
     <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"비밀번호에는 적어도 하나의 문자가 포함되어야 합니다."</string>
     <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"비밀번호에는 적어도 하나의 숫자가 포함되어야 합니다."</string>
     <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"비밀번호에는 적어도 하나의 기호가 포함되어야 합니다."</string>
+  <plurals name="lockpassword_password_requires_letters">
+    <item quantity="one" msgid="1462968118065694590">"비밀번호에는 적어도 하나의 문자가 포함되어야 합니다."</item>
+    <item quantity="other" msgid="7278096339907683541">"비밀번호에는 적어도 %d개의 문자가 포함되어야 합니다."</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_lowercase">
+    <item quantity="one" msgid="2048653993044269649">"비밀번호에는 적어도 하나의 소문자가 포함되어야 합니다."</item>
+    <item quantity="other" msgid="588499075580432178">"비밀번호에는 적어도 %d개의 소문자가 포함되어야 합니다."</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_uppercase">
+    <item quantity="one" msgid="7677454174080582601">"비밀번호에는 적어도 하나의 대문자가 포함되어야 합니다."</item>
+    <item quantity="other" msgid="2183090598541826806">"비밀번호에는 적어도 %d개의 대문자가 포함되어야 합니다."</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_numeric">
+    <item quantity="one" msgid="8585088032818933985">"비밀번호에는 적어도 하나의 숫자가 포함되어야 합니다."</item>
+    <item quantity="other" msgid="995673409754935278">"비밀번호에는 적어도 %d개의 숫자가 포함되어야 합니다."</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_symbols">
+    <item quantity="one" msgid="3930886641317826293">"비밀번호에는 적어도 하나의 특수 기호가 포함되어야 합니다."</item>
+    <item quantity="other" msgid="3047460862484105274">"비밀번호에는 적어도 %d개의 특수 기호가 포함되어야 합니다."</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_nonletter">
+    <item quantity="one" msgid="1716355580615489062">"비밀번호에는 글자가 아닌 문자가 한 개 이상 포함되어야 합니다."</item>
+    <item quantity="other" msgid="5574191164708145973">"비밀번호에는 적어도 %d개 이상의 글자가 아닌 문자가 포함되어야 합니다."</item>
+  </plurals>
+    <string name="lockpassword_password_recently_used" msgid="2739642871806935825">"장치 관리자가 최근 비밀번호 사용을 허용하지 않습니다."</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"확인"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"취소"</string>
     <string name="device_admin_title" msgid="3562216873644263804">"기기 관리"</string>
@@ -303,9 +337,15 @@
     <string name="bluetooth_profile_a2dp" msgid="3259633293424539529">"미디어"</string>
     <string name="bluetooth_profile_headset" msgid="1874975688666658946">"휴대전화"</string>
     <string name="bluetooth_profile_opp" msgid="3799470046565284440">"전송"</string>
+    <string name="bluetooth_profile_hid" msgid="3000858580917633478">"입력 장치"</string>
+    <!-- no translation found for bluetooth_profile_pan (4225813400648547154) -->
+    <skip />
     <string name="bluetooth_summary_connected_to_a2dp" msgid="510833839847758664">"미디어 오디오에 연결됨"</string>
     <string name="bluetooth_summary_connected_to_headset" msgid="4876496372728623918">"휴대전화 오디오에 연결됨"</string>
     <string name="bluetooth_summary_connected_to_a2dp_headset" msgid="3045032710457800891">"휴대전화 및 미디어 오디오에 연결됨"</string>
+    <string name="bluetooth_summary_connected_to_hid" msgid="8147499644396475561">"입력 장치에 연결됨"</string>
+    <!-- no translation found for bluetooth_summary_connected_to_pan (3157622705092537266) -->
+    <skip />
     <string name="bluetooth_device_advanced_title" msgid="528816860793581131">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> 옵션"</string>
     <string name="bluetooth_device_advanced_online_mode_title" msgid="3689050071425683114">"연결"</string>
     <string name="bluetooth_device_advanced_online_mode_summary" msgid="1204424107263248336">"Bluetooth 장치에 연결"</string>
@@ -314,9 +354,13 @@
     <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"휴대전화 오디오에 연결됨"</string>
     <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"파일 전송 서버에 연결됨"</string>
     <string name="bluetooth_opp_profile_summary_not_connected" msgid="1267091356089086285">"파일 전송 서버에 연결되지 않았습니다."</string>
+    <string name="bluetooth_hid_profile_summary_connected" msgid="3381760054215168689">"입력 장치에 연결됨"</string>
+    <!-- no translation found for bluetooth_pan_profile_summary_connected (7456487225516323485) -->
+    <skip />
     <string name="bluetooth_a2dp_profile_summary_use_for" msgid="4630849022250168427">"미디어 오디오에 사용"</string>
     <string name="bluetooth_headset_profile_summary_use_for" msgid="8705753622443862627">"휴대전화 오디오에 사용"</string>
     <string name="bluetooth_opp_profile_summary_use_for" msgid="1255674547144769756">"파일 전송에 사용"</string>
+    <string name="bluetooth_hid_profile_summary_use_for" msgid="232727040453645139">"입력에 사용"</string>
     <string name="bluetooth_dock_settings" msgid="3218335822716052885">"도크 설정"</string>
     <string name="bluetooth_dock_settings_title" msgid="5543069893044375188">"오디오에 도크 사용"</string>
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"스피커폰으로 사용"</string>
@@ -496,8 +540,10 @@
     <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>
+    <!-- no translation found for storage_settings (4211799979832404953) -->
+    <skip />
+    <!-- no translation found for storage_settings_title (8746016738388094064) -->
+    <skip />
     <string name="storage_settings_summary" msgid="9176693537325988610">"SD 카드 마운트 해제, 사용 가능한 저장공간 보기"</string>
     <string name="status_number" msgid="5123197324870153205">"내 휴대전화 번호"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
@@ -588,12 +634,27 @@
     <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>
+    <!-- no translation found for tether_settings_title_usb (6688416425801386511) -->
+    <skip />
     <string name="tether_settings_title_wifi" msgid="3277144155960302049">"휴대용 핫스팟"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"테더링 및 휴대용 핫스팟"</string>
+    <!-- no translation found for tether_settings_title_bluetooth (355855408317564420) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_usb_bluetooth (5355828977109785001) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_all (8356136101061143841) -->
+    <skip />
     <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>
+    <!-- no translation found for tether_settings_summary_bluetooth (4363059913219151114) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_wifi (3700323208282018772) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_bluetooth (4008195891276675882) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_wifi_bluetooth (2753904149495692201) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_all (1171769255924636665) -->
+    <skip />
     <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,6 +662,24 @@
     <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>
+    <!-- no translation found for bluetooth_tether_checkbox_text (2379175828878753652) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_available_subtext (3317112145693933963) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_connected_subtext (893888246368164894) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_off_subtext (1798863866978968964) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_errored_subtext (1344187103463073993) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_overflow_error (2222060504731415763) -->
+    <skip />
+    <!-- no translation found for bluetooth_untether_blank (2871192409329334813) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_text (2273368767599539525) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_subtext (5970033999897946708) -->
+    <skip />
     <string name="tethering_help_button_text" msgid="656117495547173630">"도움말"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"모바일 네트워크"</string>
     <string name="network_settings_summary" msgid="5149750850846813553">"로밍, 네트워크, APN에 대한 옵션 설정"</string>
@@ -824,6 +903,7 @@
     <string name="quick_launch_display_mode_applications" msgid="3748789806447639039">"애플리케이션"</string>
     <string name="quick_launch_display_mode_shortcuts" msgid="4177934019174169042">"바로가기"</string>
     <string name="input_methods_settings_title" msgid="6800066636850553887">"텍스트 입력"</string>
+    <string name="input_method" msgid="5434026103176856164">"입력 방법"</string>
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"텍스트 입력 옵션 관리"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"<xliff:g id="IME_NAME">%1$s</xliff:g> 설정"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"화면 키보드 설정"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 385a168..98dbb8a 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -130,14 +130,23 @@
     <string name="intent_sender_startactivity_text" msgid="5080516029580421895">"Start <xliff:g id="ACTIVITY">activity</xliff:g>"</string>
     <string name="intent_sender_resource_label" msgid="6963659726895482829">"<xliff:g id="RESOURCE">Resource</xliff:g>:"</string>
     <string name="intent_sender_account_label" msgid="465210404475603404">"Konto:"</string>
+    <!-- no translation found for proxy_settings_title (6262282922722097473) -->
+    <skip />
+    <!-- no translation found for proxy_settings_summary (7898928000758321486) -->
+    <skip />
     <string name="proxy_clear_text" msgid="5555400754952012657">"Tøm"</string>
     <string name="proxy_port_label" msgid="2623639656638472491">"Port"</string>
+    <!-- no translation found for proxy_exclusionlist_label (204409815790850313) -->
+    <skip />
     <string name="proxy_defaultView_text" msgid="6387985519141433291">"Gjenopprett standardinnstillinger"</string>
-    <string name="proxy_action_text" msgid="477348175123635416">"Lagre"</string>
+    <!-- no translation found for proxy_action_text (2957063145357903951) -->
+    <skip />
     <string name="proxy_hostname_label" msgid="7531298584350977540">"Vertsnavn"</string>
     <string name="proxy_error" msgid="8926675299638611451">"NB"</string>
     <string name="proxy_error_dismiss" msgid="4993171795485460060">"OK"</string>
     <string name="proxy_error_invalid_host" msgid="9120776460063182119">"Vertsnavnet er ikke gyldig."</string>
+    <!-- no translation found for proxy_error_invalid_exclusion_list (4753810662233875893) -->
+    <skip />
     <string name="proxy_error_empty_port" msgid="3525734169948795417">"Du må skrive inn et portnummer."</string>
     <string name="proxy_error_empty_host_set_port" msgid="2451694104858226781">"Feltet for portnummer må være tomt om feltet for vertsnavn er tomt."</string>
     <string name="proxy_error_invalid_port" msgid="1816315605424943626">"Portnummeret er ikke gyldig."</string>
@@ -189,8 +198,7 @@
     <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"Leter etter media på minnekortet…"</string>
     <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"Minnekortet ble montert skrivebeskyttet"</string>
     <string name="next_label" msgid="4693520878012668114">"Neste"</string>
-    <string name="language_picker_title" msgid="4034157617842965844">"Regionsinnstillinger"</string>
-    <string name="select_your_language" msgid="1146235168951906084">"Språk"</string>
+    <string name="language_picker_title" msgid="5349877711342869319">"Språk"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Velg aktivitet"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Enhetsinformasjon"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Batteriinformasjon"</string>
@@ -257,15 +265,41 @@
     <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Endre passord for opplåsning"</string>
     <string name="lockpassword_password_too_short" msgid="7328975683669256660">"Passord må bestå av minst %d tegn"</string>
     <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"PIN-koden må bestå av minst %d tegn"</string>
-    <string name="lockpassword_press_continue" msgid="6506047902828925216">"Trykk på Fortsett når du er ferdig"</string>
+    <string name="lockpassword_press_continue" msgid="122706614386757182">"Trykk på Fortsett når du er ferdig"</string>
     <string name="lockpassword_continue_label" msgid="4602203784934526940">"Fortsett"</string>
     <string name="lockpassword_password_too_long" msgid="7354418473281442589">"PIN-koden kan ikke inneholde mer enn %d tegn"</string>
     <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"PIN-koden kan ikke inneholde mer enn %d tegn"</string>
     <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"PIN-koden kan kun inneholde tall fra 0 til 9"</string>
+    <string name="lockpassword_pin_recently_used" msgid="2729073062730842496">"Enhetens administrator tillater ikke bruk av en nylig brukt personlig kode"</string>
     <string name="lockpassword_illegal_character" msgid="6204396794254688549">"Passordet inneholder ugydige tegn"</string>
     <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"Passordet må inneholde minst én bokstav"</string>
     <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"Passordet må inneholde minst ett siffer"</string>
     <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"Passordet må inneholde minst ett symbol"</string>
+  <plurals name="lockpassword_password_requires_letters">
+    <item quantity="one" msgid="1462968118065694590">"Passordet må inneholde minst én bokstav"</item>
+    <item quantity="other" msgid="7278096339907683541">"Passordet må inneholde minst %d små bokstaver"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_lowercase">
+    <item quantity="one" msgid="2048653993044269649">"Passordet må inneholde minst én liten bokstav"</item>
+    <item quantity="other" msgid="588499075580432178">"Passordet må inneholde minst %d små bokstaver"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_uppercase">
+    <item quantity="one" msgid="7677454174080582601">"Passordet må inneholde minst én stor bokstav"</item>
+    <item quantity="other" msgid="2183090598541826806">"Passordet må inneholde minst %d store bokstaver"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_numeric">
+    <item quantity="one" msgid="8585088032818933985">"Passordet må inneholde minst ett siffer"</item>
+    <item quantity="other" msgid="995673409754935278">"Passordet må inneholde minst %d sifre"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_symbols">
+    <item quantity="one" msgid="3930886641317826293">"Passordet må inneholde minst ett spesialsymbol"</item>
+    <item quantity="other" msgid="3047460862484105274">"Passordet må inneholde minst %d spesialsymboler"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_nonletter">
+    <item quantity="one" msgid="1716355580615489062">"Passordet må inneholde minst ett annet tegn enn bokstaver"</item>
+    <item quantity="other" msgid="5574191164708145973">"Passordet må inneholde minst %d andre tegn enn bokstaver"</item>
+  </plurals>
+    <string name="lockpassword_password_recently_used" msgid="2739642871806935825">"Enhetens administrator tillater ikke bruk av et nylig brukt passord"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Avbryt"</string>
     <string name="device_admin_title" msgid="3562216873644263804">"Enhetsadministrasjon"</string>
@@ -303,9 +337,15 @@
     <string name="bluetooth_profile_a2dp" msgid="3259633293424539529">"Media"</string>
     <string name="bluetooth_profile_headset" msgid="1874975688666658946">"Telefon"</string>
     <string name="bluetooth_profile_opp" msgid="3799470046565284440">"Overfør"</string>
+    <string name="bluetooth_profile_hid" msgid="3000858580917633478">"Inndataenhet"</string>
+    <!-- no translation found for bluetooth_profile_pan (4225813400648547154) -->
+    <skip />
     <string name="bluetooth_summary_connected_to_a2dp" msgid="510833839847758664">"Koblet til medielyd"</string>
     <string name="bluetooth_summary_connected_to_headset" msgid="4876496372728623918">"Koblet til telefonlyd"</string>
     <string name="bluetooth_summary_connected_to_a2dp_headset" msgid="3045032710457800891">"Koblet til medie- og telefonlyd"</string>
+    <string name="bluetooth_summary_connected_to_hid" msgid="8147499644396475561">"Koblet til inndataenhet"</string>
+    <!-- no translation found for bluetooth_summary_connected_to_pan (3157622705092537266) -->
+    <skip />
     <string name="bluetooth_device_advanced_title" msgid="528816860793581131">"Innstillinger for <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="bluetooth_device_advanced_online_mode_title" msgid="3689050071425683114">"Koble til"</string>
     <string name="bluetooth_device_advanced_online_mode_summary" msgid="1204424107263248336">"Koble til Bluetooth-enhet"</string>
@@ -314,9 +354,13 @@
     <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Koblet til telefonlyd"</string>
     <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Koblet til tjener for filoverføring"</string>
     <string name="bluetooth_opp_profile_summary_not_connected" msgid="1267091356089086285">"Ikke koblet til tjener for filoverføring"</string>
+    <string name="bluetooth_hid_profile_summary_connected" msgid="3381760054215168689">"Koblet til inndataenhet"</string>
+    <!-- no translation found for bluetooth_pan_profile_summary_connected (7456487225516323485) -->
+    <skip />
     <string name="bluetooth_a2dp_profile_summary_use_for" msgid="4630849022250168427">"Bruk for medielyd"</string>
     <string name="bluetooth_headset_profile_summary_use_for" msgid="8705753622443862627">"Bruk for telefonlyd"</string>
     <string name="bluetooth_opp_profile_summary_use_for" msgid="1255674547144769756">"Bruk til filoverføring"</string>
+    <string name="bluetooth_hid_profile_summary_use_for" msgid="232727040453645139">"Bruk for inndata"</string>
     <string name="bluetooth_dock_settings" msgid="3218335822716052885">"Innstillinger for forankringsstasjon"</string>
     <string name="bluetooth_dock_settings_title" msgid="5543069893044375188">"Bruk forankring til lyd"</string>
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Som høyttalertelefon"</string>
@@ -496,8 +540,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"Status"</string>
     <string name="device_status" msgid="607405385799807324">"Status"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Telefonnummer, signalstyrke, osv."</string>
-    <string name="storage_settings" msgid="6681164315506788024">"Minnekort og telefonlager"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"Minnekort og telefonlager"</string>
+    <!-- no translation found for storage_settings (4211799979832404953) -->
+    <skip />
+    <!-- no translation found for storage_settings_title (8746016738388094064) -->
+    <skip />
     <string name="storage_settings_summary" msgid="9176693537325988610">"Avmonter minnekort, vis ledig plass"</string>
     <string name="status_number" msgid="5123197324870153205">"Telefonnummer"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
@@ -588,12 +634,27 @@
     <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>
+    <!-- no translation found for tether_settings_title_usb (6688416425801386511) -->
+    <skip />
     <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Flyttbar trådløs sone"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"Tilknytning og trådløs sone"</string>
+    <!-- no translation found for tether_settings_title_bluetooth (355855408317564420) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_usb_bluetooth (5355828977109785001) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_all (8356136101061143841) -->
+    <skip />
     <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>
+    <!-- no translation found for tether_settings_summary_bluetooth (4363059913219151114) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_wifi (3700323208282018772) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_bluetooth (4008195891276675882) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_wifi_bluetooth (2753904149495692201) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_all (1171769255924636665) -->
+    <skip />
     <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,6 +662,24 @@
     <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>
+    <!-- no translation found for bluetooth_tether_checkbox_text (2379175828878753652) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_available_subtext (3317112145693933963) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_connected_subtext (893888246368164894) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_off_subtext (1798863866978968964) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_errored_subtext (1344187103463073993) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_overflow_error (2222060504731415763) -->
+    <skip />
+    <!-- no translation found for bluetooth_untether_blank (2871192409329334813) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_text (2273368767599539525) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_subtext (5970033999897946708) -->
+    <skip />
     <string name="tethering_help_button_text" msgid="656117495547173630">"Hjelp"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"Mobile nettverk"</string>
     <string name="network_settings_summary" msgid="5149750850846813553">"Innstillinger for roaming, nettverk, APN"</string>
@@ -824,6 +903,7 @@
     <string name="quick_launch_display_mode_applications" msgid="3748789806447639039">"Applikasjoner"</string>
     <string name="quick_launch_display_mode_shortcuts" msgid="4177934019174169042">"Snarveier"</string>
     <string name="input_methods_settings_title" msgid="6800066636850553887">"Skriving av tekst"</string>
+    <string name="input_method" msgid="5434026103176856164">"Inndatametode"</string>
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Innstillinger for skriving av tekst"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"Innstillinger for <xliff:g id="IME_NAME">%1$s</xliff:g>"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Innstillinger for skjermtastatur"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 86ee3d2..661ea67 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -130,14 +130,23 @@
     <string name="intent_sender_startactivity_text" msgid="5080516029580421895">"<xliff:g id="ACTIVITY">activity</xliff:g> starten"</string>
     <string name="intent_sender_resource_label" msgid="6963659726895482829">"<xliff:g id="RESOURCE">Resource</xliff:g>:"</string>
     <string name="intent_sender_account_label" msgid="465210404475603404">"Account:"</string>
+    <!-- no translation found for proxy_settings_title (6262282922722097473) -->
+    <skip />
+    <!-- no translation found for proxy_settings_summary (7898928000758321486) -->
+    <skip />
     <string name="proxy_clear_text" msgid="5555400754952012657">"Wissen"</string>
     <string name="proxy_port_label" msgid="2623639656638472491">"Poort"</string>
+    <!-- no translation found for proxy_exclusionlist_label (204409815790850313) -->
+    <skip />
     <string name="proxy_defaultView_text" msgid="6387985519141433291">"Standaardwaarden herstellen"</string>
-    <string name="proxy_action_text" msgid="477348175123635416">"Opslaan"</string>
+    <!-- no translation found for proxy_action_text (2957063145357903951) -->
+    <skip />
     <string name="proxy_hostname_label" msgid="7531298584350977540">"Hostnaam"</string>
     <string name="proxy_error" msgid="8926675299638611451">"Let op"</string>
     <string name="proxy_error_dismiss" msgid="4993171795485460060">"OK"</string>
     <string name="proxy_error_invalid_host" msgid="9120776460063182119">"De hostnaam die u heeft ingevoerd, is ongeldig."</string>
+    <!-- no translation found for proxy_error_invalid_exclusion_list (4753810662233875893) -->
+    <skip />
     <string name="proxy_error_empty_port" msgid="3525734169948795417">"U moet het poortveld invullen."</string>
     <string name="proxy_error_empty_host_set_port" msgid="2451694104858226781">"Het poortveld moet leeg zijn als het hostveld leeg is."</string>
     <string name="proxy_error_invalid_port" msgid="1816315605424943626">"De poort die u heeft ingevoerd, is ongeldig."</string>
@@ -189,8 +198,7 @@
     <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"SD-kaart scannen op media..."</string>
     <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"Gekoppelde SD-kaart alleen-lezen"</string>
     <string name="next_label" msgid="4693520878012668114">"Volgende"</string>
-    <string name="language_picker_title" msgid="4034157617842965844">"Landinstelling"</string>
-    <string name="select_your_language" msgid="1146235168951906084">"Uw taal selecteren"</string>
+    <string name="language_picker_title" msgid="5349877711342869319">"Taal"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Activiteit selecteren"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Apparaatinfo"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Accu-info"</string>
@@ -257,15 +265,41 @@
     <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Ontgrendelingswachtwoord wijzigen"</string>
     <string name="lockpassword_password_too_short" msgid="7328975683669256660">"Wachtwoord moet ten minste %d tekens lang zijn"</string>
     <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"PIN-code moet ten minste %d tekens lang zijn"</string>
-    <string name="lockpassword_press_continue" msgid="6506047902828925216">"Druk op \'Doorgaan\' als u klaar bent"</string>
+    <string name="lockpassword_press_continue" msgid="122706614386757182">"Raak \'Doorgaan\' aan als u klaar bent"</string>
     <string name="lockpassword_continue_label" msgid="4602203784934526940">"Doorgaan"</string>
     <string name="lockpassword_password_too_long" msgid="7354418473281442589">"PIN-code mag niet langer zijn dan %d cijfers"</string>
     <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"PIN-code mag niet langer zijn dan %d cijfers"</string>
     <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"PIN-code mag alleen de cijfers 0-9 bevatten"</string>
+    <string name="lockpassword_pin_recently_used" msgid="2729073062730842496">"Apparaatbeheerder staat gebruik van een recente PIN-code niet toe"</string>
     <string name="lockpassword_illegal_character" msgid="6204396794254688549">"Wachtwoord bevat een ongeldig teken"</string>
     <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"Wachtwoord moet ten minste één letter bevatten"</string>
     <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"Wachtwoord moet ten minste één cijfer bevatten"</string>
     <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"Wachtwoord moet ten minste één symbool bevatten"</string>
+  <plurals name="lockpassword_password_requires_letters">
+    <item quantity="one" msgid="1462968118065694590">"Wachtwoord moet ten minste één letter bevatten"</item>
+    <item quantity="other" msgid="7278096339907683541">"Wachtwoord moet ten minste %d letters bevatten"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_lowercase">
+    <item quantity="one" msgid="2048653993044269649">"Wachtwoord moet ten minste één kleine letter bevatten"</item>
+    <item quantity="other" msgid="588499075580432178">"Wachtwoord moet ten minste %d kleine letters bevatten"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_uppercase">
+    <item quantity="one" msgid="7677454174080582601">"Wachtwoord moet ten minste één hoofdletter bevatten"</item>
+    <item quantity="other" msgid="2183090598541826806">"Wachtwoord moet ten minste %d hoofdletters bevatten"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_numeric">
+    <item quantity="one" msgid="8585088032818933985">"Wachtwoord moet ten minste één cijfer bevatten"</item>
+    <item quantity="other" msgid="995673409754935278">"Wachtwoord moet ten minste %d cijfers bevatten"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_symbols">
+    <item quantity="one" msgid="3930886641317826293">"Wachtwoord moet ten minste één speciaal symbool bevatten"</item>
+    <item quantity="other" msgid="3047460862484105274">"Wachtwoord moet ten minste %d speciale symbolen bevatten"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_nonletter">
+    <item quantity="one" msgid="1716355580615489062">"Wachtwoord moet ten minste één ander teken dan letters bevatten"</item>
+    <item quantity="other" msgid="5574191164708145973">"Wachtwoord moet ten minste %d andere tekens dan letters bevatten"</item>
+  </plurals>
+    <string name="lockpassword_password_recently_used" msgid="2739642871806935825">"Apparaatbeheerder staat gebruik van een recent wachtwoord niet toe"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Annuleren"</string>
     <string name="device_admin_title" msgid="3562216873644263804">"Apparaatbeheer"</string>
@@ -303,9 +337,15 @@
     <string name="bluetooth_profile_a2dp" msgid="3259633293424539529">"Media"</string>
     <string name="bluetooth_profile_headset" msgid="1874975688666658946">"Telefoon"</string>
     <string name="bluetooth_profile_opp" msgid="3799470046565284440">"Overdracht"</string>
+    <string name="bluetooth_profile_hid" msgid="3000858580917633478">"Invoerapparaat"</string>
+    <!-- no translation found for bluetooth_profile_pan (4225813400648547154) -->
+    <skip />
     <string name="bluetooth_summary_connected_to_a2dp" msgid="510833839847758664">"Verbonden met audio van medium"</string>
     <string name="bluetooth_summary_connected_to_headset" msgid="4876496372728623918">"Verbonden met audio van telefoon"</string>
     <string name="bluetooth_summary_connected_to_a2dp_headset" msgid="3045032710457800891">"Verbonden met audio van telefoon en medium"</string>
+    <string name="bluetooth_summary_connected_to_hid" msgid="8147499644396475561">"Verbonden met invoerapparaat"</string>
+    <!-- no translation found for bluetooth_summary_connected_to_pan (3157622705092537266) -->
+    <skip />
     <string name="bluetooth_device_advanced_title" msgid="528816860793581131">"Opties voor <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="bluetooth_device_advanced_online_mode_title" msgid="3689050071425683114">"Verbinden"</string>
     <string name="bluetooth_device_advanced_online_mode_summary" msgid="1204424107263248336">"Verbinden met Bluetooth-apparaat"</string>
@@ -314,9 +354,13 @@
     <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Verbonden met audio van telefoon"</string>
     <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Verbonden met server voor bestandsoverdracht"</string>
     <string name="bluetooth_opp_profile_summary_not_connected" msgid="1267091356089086285">"Niet verbonden met server voor bestandsoverdracht"</string>
+    <string name="bluetooth_hid_profile_summary_connected" msgid="3381760054215168689">"Verbonden met invoerapparaat"</string>
+    <!-- no translation found for bluetooth_pan_profile_summary_connected (7456487225516323485) -->
+    <skip />
     <string name="bluetooth_a2dp_profile_summary_use_for" msgid="4630849022250168427">"Gebruiken voor audio van medium"</string>
     <string name="bluetooth_headset_profile_summary_use_for" msgid="8705753622443862627">"Gebruiken voor audio van telefoon"</string>
     <string name="bluetooth_opp_profile_summary_use_for" msgid="1255674547144769756">"Gebruiken voor bestandsoverdracht"</string>
+    <string name="bluetooth_hid_profile_summary_use_for" msgid="232727040453645139">"Gebruiken voor invoer"</string>
     <string name="bluetooth_dock_settings" msgid="3218335822716052885">"Instellingen voor dockstation"</string>
     <string name="bluetooth_dock_settings_title" msgid="5543069893044375188">"Dockstation gebruiken voor audio"</string>
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Als luidsprekertelefoon"</string>
@@ -496,8 +540,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"Status"</string>
     <string name="device_status" msgid="607405385799807324">"Status"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Telefoonnummer, signaal, enzovoort"</string>
-    <string name="storage_settings" msgid="6681164315506788024">"SD-kaart en geheugen"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"Instellingen SD-kaart en telefoongeheugen"</string>
+    <!-- no translation found for storage_settings (4211799979832404953) -->
+    <skip />
+    <!-- no translation found for storage_settings_title (8746016738388094064) -->
+    <skip />
     <string name="storage_settings_summary" msgid="9176693537325988610">"SD-kaart ontkoppelen, beschikbare opslagruimte weergeven"</string>
     <string name="status_number" msgid="5123197324870153205">"Mijn telefoonnummer"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
@@ -588,12 +634,27 @@
     <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>
+    <!-- no translation found for tether_settings_title_usb (6688416425801386511) -->
+    <skip />
     <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Draagbare hotspot"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"Tethering en draagbare hotspot"</string>
+    <!-- no translation found for tether_settings_title_bluetooth (355855408317564420) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_usb_bluetooth (5355828977109785001) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_all (8356136101061143841) -->
+    <skip />
     <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>
+    <!-- no translation found for tether_settings_summary_bluetooth (4363059913219151114) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_wifi (3700323208282018772) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_bluetooth (4008195891276675882) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_wifi_bluetooth (2753904149495692201) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_all (1171769255924636665) -->
+    <skip />
     <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,6 +662,24 @@
     <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>
+    <!-- no translation found for bluetooth_tether_checkbox_text (2379175828878753652) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_available_subtext (3317112145693933963) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_connected_subtext (893888246368164894) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_off_subtext (1798863866978968964) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_errored_subtext (1344187103463073993) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_overflow_error (2222060504731415763) -->
+    <skip />
+    <!-- no translation found for bluetooth_untether_blank (2871192409329334813) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_text (2273368767599539525) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_subtext (5970033999897946708) -->
+    <skip />
     <string name="tethering_help_button_text" msgid="656117495547173630">"Help"</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>
@@ -824,6 +903,7 @@
     <string name="quick_launch_display_mode_applications" msgid="3748789806447639039">"Toepassingen"</string>
     <string name="quick_launch_display_mode_shortcuts" msgid="4177934019174169042">"Sneltoetsen"</string>
     <string name="input_methods_settings_title" msgid="6800066636850553887">"Tekstinvoer"</string>
+    <string name="input_method" msgid="5434026103176856164">"Invoermethode"</string>
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Opties voor tekstinvoer beheren"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"Instellingen voor <xliff:g id="IME_NAME">%1$s</xliff:g>"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Instellingen voor schermtoetsenbord"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 5e54866..13d8b21 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -130,14 +130,23 @@
     <string name="intent_sender_startactivity_text" msgid="5080516029580421895">"Rozpocznij <xliff:g id="ACTIVITY">activity</xliff:g>"</string>
     <string name="intent_sender_resource_label" msgid="6963659726895482829">"<xliff:g id="RESOURCE">Resource</xliff:g>:"</string>
     <string name="intent_sender_account_label" msgid="465210404475603404">"Konto:"</string>
+    <!-- no translation found for proxy_settings_title (6262282922722097473) -->
+    <skip />
+    <!-- no translation found for proxy_settings_summary (7898928000758321486) -->
+    <skip />
     <string name="proxy_clear_text" msgid="5555400754952012657">"Wyczyść"</string>
     <string name="proxy_port_label" msgid="2623639656638472491">"Port"</string>
+    <!-- no translation found for proxy_exclusionlist_label (204409815790850313) -->
+    <skip />
     <string name="proxy_defaultView_text" msgid="6387985519141433291">"Przywróć ustawienia domyślne"</string>
-    <string name="proxy_action_text" msgid="477348175123635416">"Zapisz"</string>
+    <!-- no translation found for proxy_action_text (2957063145357903951) -->
+    <skip />
     <string name="proxy_hostname_label" msgid="7531298584350977540">"Nazwa hosta"</string>
     <string name="proxy_error" msgid="8926675299638611451">"Uwaga"</string>
     <string name="proxy_error_dismiss" msgid="4993171795485460060">"OK"</string>
     <string name="proxy_error_invalid_host" msgid="9120776460063182119">"Wprowadzona nazwa hosta jest nieprawidłowa."</string>
+    <!-- no translation found for proxy_error_invalid_exclusion_list (4753810662233875893) -->
+    <skip />
     <string name="proxy_error_empty_port" msgid="3525734169948795417">"Należy uzupełnić pole port."</string>
     <string name="proxy_error_empty_host_set_port" msgid="2451694104858226781">"Pole port musi być puste, jeśli pole host jest puste."</string>
     <string name="proxy_error_invalid_port" msgid="1816315605424943626">"Wprowadzony port jest nieprawidłowy."</string>
@@ -189,8 +198,7 @@
     <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"Przeszukiwanie karty SD w poszukiwaniu multimediów..."</string>
     <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"Karta SD jest podłączona tylko do odczytu"</string>
     <string name="next_label" msgid="4693520878012668114">"Dalej"</string>
-    <string name="language_picker_title" msgid="4034157617842965844">"Ustawienia regionalne"</string>
-    <string name="select_your_language" msgid="1146235168951906084">"Wybierz język"</string>
+    <string name="language_picker_title" msgid="5349877711342869319">"Język"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Wybierz czynność"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Informacje o urządzeniu"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Informacje o baterii"</string>
@@ -257,15 +265,41 @@
     <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Zmień hasło odblokowania"</string>
     <string name="lockpassword_password_too_short" msgid="7328975683669256660">"Liczba znaków w haśle musi wynosić co najmniej %d"</string>
     <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"Liczba znaków w kodzie PIN musi wynosić co najmniej %d"</string>
-    <string name="lockpassword_press_continue" msgid="6506047902828925216">"Po zakończeniu naciśnij przycisk Kontynuuj"</string>
+    <string name="lockpassword_press_continue" msgid="122706614386757182">"Po zakończeniu dotknij opcji Kontynuuj"</string>
     <string name="lockpassword_continue_label" msgid="4602203784934526940">"Kontynuuj"</string>
     <string name="lockpassword_password_too_long" msgid="7354418473281442589">"Liczba cyfr w kodzie PIN nie może przekraczać %d"</string>
     <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"Liczba cyfr w kodzie PIN nie może przekraczać %d"</string>
     <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"Kod PIN musi zawierać wyłącznie cyfry 0-9"</string>
+    <string name="lockpassword_pin_recently_used" msgid="2729073062730842496">"Administrator urządzenia nie zezwala na używanie poprzedniego kodu PIN"</string>
     <string name="lockpassword_illegal_character" msgid="6204396794254688549">"Hasło zawiera niedozwolony znak"</string>
     <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"Hasło musi zawierać co najmniej jedną literę"</string>
     <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"Hasło musi zawierać co najmniej jedną cyfrę"</string>
     <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"Hasło musi zawierać co najmniej jeden symbol"</string>
+  <plurals name="lockpassword_password_requires_letters">
+    <item quantity="one" msgid="1462968118065694590">"Hasło musi zawierać co najmniej jedną literę"</item>
+    <item quantity="other" msgid="7278096339907683541">"Hasło musi zawierać litery w liczbie co najmniej %d"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_lowercase">
+    <item quantity="one" msgid="2048653993044269649">"Hasło musi zawierać co najmniej jedną małą literę"</item>
+    <item quantity="other" msgid="588499075580432178">"Hasło musi zawierać małe litery w liczbie co najmniej %d"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_uppercase">
+    <item quantity="one" msgid="7677454174080582601">"Hasło musi zawierać co najmniej jedną wielką literę"</item>
+    <item quantity="other" msgid="2183090598541826806">"Hasło musi zawierać wielkie litery w liczbie co najmniej %d"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_numeric">
+    <item quantity="one" msgid="8585088032818933985">"Hasło musi zawierać co najmniej jedną cyfrę"</item>
+    <item quantity="other" msgid="995673409754935278">"Hasło musi zawierać cyfry w liczbie co najmniej %d"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_symbols">
+    <item quantity="one" msgid="3930886641317826293">"Hasło musi zawierać co najmniej jeden symbol specjalny"</item>
+    <item quantity="other" msgid="3047460862484105274">"Hasło musi zawierać symbole specjalne w liczbie co najmniej %d"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_nonletter">
+    <item quantity="one" msgid="1716355580615489062">"Hasło musi zawierać co najmniej jeden znak niebędący literą"</item>
+    <item quantity="other" msgid="5574191164708145973">"Hasło musi zawierać znaki niebędące literami w liczbie co najmniej %d"</item>
+  </plurals>
+    <string name="lockpassword_password_recently_used" msgid="2739642871806935825">"Administrator urządzenia nie zezwala na używanie poprzedniego hasła"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Anuluj"</string>
     <string name="device_admin_title" msgid="3562216873644263804">"Administracja urządzeniem"</string>
@@ -303,9 +337,15 @@
     <string name="bluetooth_profile_a2dp" msgid="3259633293424539529">"Multimedia"</string>
     <string name="bluetooth_profile_headset" msgid="1874975688666658946">"Telefon"</string>
     <string name="bluetooth_profile_opp" msgid="3799470046565284440">"Transfer"</string>
+    <string name="bluetooth_profile_hid" msgid="3000858580917633478">"Urządzenie wejściowe"</string>
+    <!-- no translation found for bluetooth_profile_pan (4225813400648547154) -->
+    <skip />
     <string name="bluetooth_summary_connected_to_a2dp" msgid="510833839847758664">"Połączono z funkcją audio multimediów"</string>
     <string name="bluetooth_summary_connected_to_headset" msgid="4876496372728623918">"Połączono z funkcją audio telefonu"</string>
     <string name="bluetooth_summary_connected_to_a2dp_headset" msgid="3045032710457800891">"Połączono z funkcją audio telefonu i multimediów"</string>
+    <string name="bluetooth_summary_connected_to_hid" msgid="8147499644396475561">"Podłączono do urządzenia wejściowego"</string>
+    <!-- no translation found for bluetooth_summary_connected_to_pan (3157622705092537266) -->
+    <skip />
     <string name="bluetooth_device_advanced_title" msgid="528816860793581131">"Opcje urządzenia <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="bluetooth_device_advanced_online_mode_title" msgid="3689050071425683114">"Połącz"</string>
     <string name="bluetooth_device_advanced_online_mode_summary" msgid="1204424107263248336">"Połącz z urządzeniem Bluetooth"</string>
@@ -314,9 +354,13 @@
     <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Połączono z funkcją audio telefonu"</string>
     <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Połączono z serwerem transferu plików"</string>
     <string name="bluetooth_opp_profile_summary_not_connected" msgid="1267091356089086285">"Brak połączenia z serwerem transferu plików"</string>
+    <string name="bluetooth_hid_profile_summary_connected" msgid="3381760054215168689">"Podłączono do urządzenia wejściowego"</string>
+    <!-- no translation found for bluetooth_pan_profile_summary_connected (7456487225516323485) -->
+    <skip />
     <string name="bluetooth_a2dp_profile_summary_use_for" msgid="4630849022250168427">"Użyj dla funkcji audio multimediów"</string>
     <string name="bluetooth_headset_profile_summary_use_for" msgid="8705753622443862627">"Użyj dla funkcji audio telefonu"</string>
     <string name="bluetooth_opp_profile_summary_use_for" msgid="1255674547144769756">"Użyj do transferu plików"</string>
+    <string name="bluetooth_hid_profile_summary_use_for" msgid="232727040453645139">"Użyj do wprowadzania"</string>
     <string name="bluetooth_dock_settings" msgid="3218335822716052885">"Ustawienia podstawki"</string>
     <string name="bluetooth_dock_settings_title" msgid="5543069893044375188">"Używaj podstawki na potrzeby dźwięku"</string>
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Jako telefon w trybie głośnika"</string>
@@ -496,8 +540,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"Informacje o telefonie"</string>
     <string name="device_status" msgid="607405385799807324">"Informacje o telefonie"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Numer telefonu, sygnał itd."</string>
-    <string name="storage_settings" msgid="6681164315506788024">"Karta SD i pamięć telefonu"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"Ustawienia karty SD i pamięci telefonu"</string>
+    <!-- no translation found for storage_settings (4211799979832404953) -->
+    <skip />
+    <!-- no translation found for storage_settings_title (8746016738388094064) -->
+    <skip />
     <string name="storage_settings_summary" msgid="9176693537325988610">"Odłącz kartę SD, pokaż ilość dostępnej pamięci w telefonie"</string>
     <string name="status_number" msgid="5123197324870153205">"Mój numer telefonu"</string>
     <string name="status_min_number" msgid="3519504522179420597">"Numer MIN"</string>
@@ -588,12 +634,27 @@
     <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>
+    <!-- no translation found for tether_settings_title_usb (6688416425801386511) -->
+    <skip />
     <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>
+    <!-- no translation found for tether_settings_title_bluetooth (355855408317564420) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_usb_bluetooth (5355828977109785001) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_all (8356136101061143841) -->
+    <skip />
     <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>
+    <!-- no translation found for tether_settings_summary_bluetooth (4363059913219151114) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_wifi (3700323208282018772) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_bluetooth (4008195891276675882) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_wifi_bluetooth (2753904149495692201) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_all (1171769255924636665) -->
+    <skip />
     <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,6 +662,24 @@
     <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>
+    <!-- no translation found for bluetooth_tether_checkbox_text (2379175828878753652) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_available_subtext (3317112145693933963) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_connected_subtext (893888246368164894) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_off_subtext (1798863866978968964) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_errored_subtext (1344187103463073993) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_overflow_error (2222060504731415763) -->
+    <skip />
+    <!-- no translation found for bluetooth_untether_blank (2871192409329334813) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_text (2273368767599539525) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_subtext (5970033999897946708) -->
+    <skip />
     <string name="tethering_help_button_text" msgid="656117495547173630">"Pomoc"</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>
@@ -824,6 +903,7 @@
     <string name="quick_launch_display_mode_applications" msgid="3748789806447639039">"Aplikacje"</string>
     <string name="quick_launch_display_mode_shortcuts" msgid="4177934019174169042">"Skróty"</string>
     <string name="input_methods_settings_title" msgid="6800066636850553887">"Wprowadzanie tekstu"</string>
+    <string name="input_method" msgid="5434026103176856164">"Metoda wprowadzania"</string>
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Zarządzaj opcjami wprowadzania tekstu"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"Ustawienia <xliff:g id="IME_NAME">%1$s</xliff:g>"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Ustawienia klawiatury ekranowej"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 9ed3178..538d662 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -130,14 +130,23 @@
     <string name="intent_sender_startactivity_text" msgid="5080516029580421895">"Iniciar <xliff:g id="ACTIVITY">activity</xliff:g>"</string>
     <string name="intent_sender_resource_label" msgid="6963659726895482829">"<xliff:g id="RESOURCE">Resource</xliff:g>:"</string>
     <string name="intent_sender_account_label" msgid="465210404475603404">"Conta:"</string>
+    <!-- no translation found for proxy_settings_title (6262282922722097473) -->
+    <skip />
+    <!-- no translation found for proxy_settings_summary (7898928000758321486) -->
+    <skip />
     <string name="proxy_clear_text" msgid="5555400754952012657">"Limpar"</string>
     <string name="proxy_port_label" msgid="2623639656638472491">"Porta"</string>
+    <!-- no translation found for proxy_exclusionlist_label (204409815790850313) -->
+    <skip />
     <string name="proxy_defaultView_text" msgid="6387985519141433291">"Restaurar predefinições"</string>
-    <string name="proxy_action_text" msgid="477348175123635416">"Guardar"</string>
+    <!-- no translation found for proxy_action_text (2957063145357903951) -->
+    <skip />
     <string name="proxy_hostname_label" msgid="7531298584350977540">"Nome de anfitrião"</string>
     <string name="proxy_error" msgid="8926675299638611451">"Atenção"</string>
     <string name="proxy_error_dismiss" msgid="4993171795485460060">"OK"</string>
     <string name="proxy_error_invalid_host" msgid="9120776460063182119">"O nome de anfitrião que introduziu não é válido."</string>
+    <!-- no translation found for proxy_error_invalid_exclusion_list (4753810662233875893) -->
+    <skip />
     <string name="proxy_error_empty_port" msgid="3525734169948795417">"É necessário preencher o campo referente à porta."</string>
     <string name="proxy_error_empty_host_set_port" msgid="2451694104858226781">"O campo referente à porta tem de estar vazio se o campo do anfitrião estiver vazio."</string>
     <string name="proxy_error_invalid_port" msgid="1816315605424943626">"A porta que introduziu não é válida."</string>
@@ -189,8 +198,7 @@
     <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"A procurar ficheiros multimédia no cartão SD..."</string>
     <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"Cartão SD montado como só de leitura"</string>
     <string name="next_label" msgid="4693520878012668114">"Seguinte"</string>
-    <string name="language_picker_title" msgid="4034157617842965844">"Região"</string>
-    <string name="select_your_language" msgid="1146235168951906084">"Seleccione o seu idioma"</string>
+    <string name="language_picker_title" msgid="5349877711342869319">"Idioma"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Seleccionar actividade"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Informações sobre o dispositivo"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Informações da bateria"</string>
@@ -257,15 +265,41 @@
     <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Alterar palavra-passe de desbloqueio"</string>
     <string name="lockpassword_password_too_short" msgid="7328975683669256660">"A palavra-passe tem de ter no mínimo %d caracteres"</string>
     <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"O PIN tem de ter no mínimo %d caracteres"</string>
-    <string name="lockpassword_press_continue" msgid="6506047902828925216">"Prima Continuar quando terminar"</string>
+    <string name="lockpassword_press_continue" msgid="122706614386757182">"Toque em Continuar quando terminar"</string>
     <string name="lockpassword_continue_label" msgid="4602203784934526940">"Continuar"</string>
     <string name="lockpassword_password_too_long" msgid="7354418473281442589">"O PIN não pode ter mais de %d dígitos"</string>
     <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"O PIN não pode ter mais de %d dígitos"</string>
     <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"O PIN tem de conter apenas dígitos de 0 a 9"</string>
+    <string name="lockpassword_pin_recently_used" msgid="2729073062730842496">"O administrador do dispositivo proíbe a utilização de um PIN recente"</string>
     <string name="lockpassword_illegal_character" msgid="6204396794254688549">"A palavra-passe contém um carácter ilegal"</string>
     <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"A palavra-passe tem de conter, pelo menos, uma letra"</string>
     <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"A palavra-passe tem de conter, pelo menos, um dígito"</string>
     <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"A palavra-passe tem de conter, pelo menos, um símbolo"</string>
+  <plurals name="lockpassword_password_requires_letters">
+    <item quantity="one" msgid="1462968118065694590">"A palavra-passe tem de incluir, pelo menos, 1 letra"</item>
+    <item quantity="other" msgid="7278096339907683541">"A palavra-passe tem de incluir, pelo menos, %d letras"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_lowercase">
+    <item quantity="one" msgid="2048653993044269649">"A palavra-passe tem de incluir, pelo menos, 1 letra minúscula"</item>
+    <item quantity="other" msgid="588499075580432178">"A palavra-passe tem de incluir, pelo menos, %d letras minúsculas"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_uppercase">
+    <item quantity="one" msgid="7677454174080582601">"A palavra-passe tem de incluir, pelo menos, 1 letra maiúscula"</item>
+    <item quantity="other" msgid="2183090598541826806">"A palavra-passe tem de incluir, pelo menos, %d letras maiúsculas"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_numeric">
+    <item quantity="one" msgid="8585088032818933985">"A palavra-passe tem de incluir, pelo menos, 1 dígito numérico"</item>
+    <item quantity="other" msgid="995673409754935278">"A palavra-passe tem de incluir, pelo menos, %d dígitos numéricos"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_symbols">
+    <item quantity="one" msgid="3930886641317826293">"A palavra-passe tem de incluir, pelo menos, 1 símbolo especial"</item>
+    <item quantity="other" msgid="3047460862484105274">"A palavra-passe tem de incluir, pelo menos, %d caracteres especiais"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_nonletter">
+    <item quantity="one" msgid="1716355580615489062">"A palavra-passe tem de incluir, pelo menos, 1 carácter que não seja uma letra"</item>
+    <item quantity="other" msgid="5574191164708145973">"A palavra-passe tem de incluir, pelo menos, %d caracteres que não sejam letras"</item>
+  </plurals>
+    <string name="lockpassword_password_recently_used" msgid="2739642871806935825">"O administrador do dispositivo proíbe a utilização de uma palavra-passe recente"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Cancelar"</string>
     <string name="device_admin_title" msgid="3562216873644263804">"Administração do dispositivo"</string>
@@ -303,9 +337,15 @@
     <string name="bluetooth_profile_a2dp" msgid="3259633293424539529">"Multimédia"</string>
     <string name="bluetooth_profile_headset" msgid="1874975688666658946">"Telefone"</string>
     <string name="bluetooth_profile_opp" msgid="3799470046565284440">"Transferir"</string>
+    <string name="bluetooth_profile_hid" msgid="3000858580917633478">"Dispositivo de entrada"</string>
+    <!-- no translation found for bluetooth_profile_pan (4225813400648547154) -->
+    <skip />
     <string name="bluetooth_summary_connected_to_a2dp" msgid="510833839847758664">"Ligado ao áudio de multimédia"</string>
     <string name="bluetooth_summary_connected_to_headset" msgid="4876496372728623918">"Ligado ao áudio do telefone"</string>
     <string name="bluetooth_summary_connected_to_a2dp_headset" msgid="3045032710457800891">"Ligado ao áudio do telefone e de multimédia"</string>
+    <string name="bluetooth_summary_connected_to_hid" msgid="8147499644396475561">"Ligado a um dispositivo de entrada"</string>
+    <!-- no translation found for bluetooth_summary_connected_to_pan (3157622705092537266) -->
+    <skip />
     <string name="bluetooth_device_advanced_title" msgid="528816860793581131">"Opções do <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="bluetooth_device_advanced_online_mode_title" msgid="3689050071425683114">"Ligar"</string>
     <string name="bluetooth_device_advanced_online_mode_summary" msgid="1204424107263248336">"Ligar a dispositivo Bluetooth"</string>
@@ -314,9 +354,13 @@
     <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Ligado ao áudio do telefone"</string>
     <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Ligado ao servidor de transferência de ficheiros"</string>
     <string name="bluetooth_opp_profile_summary_not_connected" msgid="1267091356089086285">"Não ligado ao servidor de transferência de ficheiros"</string>
+    <string name="bluetooth_hid_profile_summary_connected" msgid="3381760054215168689">"Ligado a um dispositivo de entrada"</string>
+    <!-- no translation found for bluetooth_pan_profile_summary_connected (7456487225516323485) -->
+    <skip />
     <string name="bluetooth_a2dp_profile_summary_use_for" msgid="4630849022250168427">"Utilizar para áudio de multimédia"</string>
     <string name="bluetooth_headset_profile_summary_use_for" msgid="8705753622443862627">"Utilizar para áudio do telefone"</string>
     <string name="bluetooth_opp_profile_summary_use_for" msgid="1255674547144769756">"Utilizar para transferência de ficheiros"</string>
+    <string name="bluetooth_hid_profile_summary_use_for" msgid="232727040453645139">"Utilizar para entrada"</string>
     <string name="bluetooth_dock_settings" msgid="3218335822716052885">"Definições da Estação de ancoragem"</string>
     <string name="bluetooth_dock_settings_title" msgid="5543069893044375188">"Utilizar estação de ancoragem para áudio"</string>
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Como telefone com altifalante"</string>
@@ -496,8 +540,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"Estado"</string>
     <string name="device_status" msgid="607405385799807324">"Estado"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Número de telefone, sinal, etc."</string>
-    <string name="storage_settings" msgid="6681164315506788024">"Armazenamento do telefone e cartão SD"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"Definições de armazenamento do telefone e cartão SD"</string>
+    <!-- no translation found for storage_settings (4211799979832404953) -->
+    <skip />
+    <!-- no translation found for storage_settings_title (8746016738388094064) -->
+    <skip />
     <string name="storage_settings_summary" msgid="9176693537325988610">"Desmontar cartão SD, ver armazenamento disponível"</string>
     <string name="status_number" msgid="5123197324870153205">"O meu número de telefone"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MINUTOS"</string>
@@ -588,12 +634,27 @@
     <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>
+    <!-- no translation found for tether_settings_title_usb (6688416425801386511) -->
+    <skip />
     <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>
+    <!-- no translation found for tether_settings_title_bluetooth (355855408317564420) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_usb_bluetooth (5355828977109785001) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_all (8356136101061143841) -->
+    <skip />
     <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>
+    <!-- no translation found for tether_settings_summary_bluetooth (4363059913219151114) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_wifi (3700323208282018772) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_bluetooth (4008195891276675882) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_wifi_bluetooth (2753904149495692201) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_all (1171769255924636665) -->
+    <skip />
     <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,6 +662,24 @@
     <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>
+    <!-- no translation found for bluetooth_tether_checkbox_text (2379175828878753652) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_available_subtext (3317112145693933963) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_connected_subtext (893888246368164894) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_off_subtext (1798863866978968964) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_errored_subtext (1344187103463073993) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_overflow_error (2222060504731415763) -->
+    <skip />
+    <!-- no translation found for bluetooth_untether_blank (2871192409329334813) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_text (2273368767599539525) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_subtext (5970033999897946708) -->
+    <skip />
     <string name="tethering_help_button_text" msgid="656117495547173630">"Ajuda"</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>
@@ -824,6 +903,7 @@
     <string name="quick_launch_display_mode_applications" msgid="3748789806447639039">"Aplicações"</string>
     <string name="quick_launch_display_mode_shortcuts" msgid="4177934019174169042">"Atalhos"</string>
     <string name="input_methods_settings_title" msgid="6800066636850553887">"Entrada de texto"</string>
+    <string name="input_method" msgid="5434026103176856164">"Método de entrada"</string>
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Gerir opções de entrada de texto"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"Definições de <xliff:g id="IME_NAME">%1$s</xliff:g>"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Definições do teclado no ecrã"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index c3dd31b..3877cc1 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -130,14 +130,23 @@
     <string name="intent_sender_startactivity_text" msgid="5080516029580421895">"Iniciar <xliff:g id="ACTIVITY">activity</xliff:g>"</string>
     <string name="intent_sender_resource_label" msgid="6963659726895482829">"<xliff:g id="RESOURCE">Resource</xliff:g>:"</string>
     <string name="intent_sender_account_label" msgid="465210404475603404">"Conta:"</string>
+    <!-- no translation found for proxy_settings_title (6262282922722097473) -->
+    <skip />
+    <!-- no translation found for proxy_settings_summary (7898928000758321486) -->
+    <skip />
     <string name="proxy_clear_text" msgid="5555400754952012657">"Limpar"</string>
     <string name="proxy_port_label" msgid="2623639656638472491">"Porta"</string>
+    <!-- no translation found for proxy_exclusionlist_label (204409815790850313) -->
+    <skip />
     <string name="proxy_defaultView_text" msgid="6387985519141433291">"Restaurar padrões"</string>
-    <string name="proxy_action_text" msgid="477348175123635416">"Salvar"</string>
+    <!-- no translation found for proxy_action_text (2957063145357903951) -->
+    <skip />
     <string name="proxy_hostname_label" msgid="7531298584350977540">"Nome do host"</string>
     <string name="proxy_error" msgid="8926675299638611451">"Atenção"</string>
     <string name="proxy_error_dismiss" msgid="4993171795485460060">"OK"</string>
     <string name="proxy_error_invalid_host" msgid="9120776460063182119">"O nome de host digitado não é válido."</string>
+    <!-- no translation found for proxy_error_invalid_exclusion_list (4753810662233875893) -->
+    <skip />
     <string name="proxy_error_empty_port" msgid="3525734169948795417">"Você deve completar o campo de porta."</string>
     <string name="proxy_error_empty_host_set_port" msgid="2451694104858226781">"O campo da porta deverá estar vazio se o campo do host estiver vazio."</string>
     <string name="proxy_error_invalid_port" msgid="1816315605424943626">"A porta digitada não é válida."</string>
@@ -189,8 +198,7 @@
     <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"Procurando mídia no cartão SD…"</string>
     <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"Cartão SD montado como somente leitura"</string>
     <string name="next_label" msgid="4693520878012668114">"Avançar"</string>
-    <string name="language_picker_title" msgid="4034157617842965844">"Local"</string>
-    <string name="select_your_language" msgid="1146235168951906084">"Selecionar o seu idioma"</string>
+    <string name="language_picker_title" msgid="5349877711342869319">"Idioma"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Selecionar atividade"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Informações do dispositivo"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Informações da bateria"</string>
@@ -257,15 +265,41 @@
     <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Alterar senha de desbloqueio"</string>
     <string name="lockpassword_password_too_short" msgid="7328975683669256660">"A senha deve ter no mínimo %d caracteres"</string>
     <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"O PIN deve ter no mínimo %d caracteres."</string>
-    <string name="lockpassword_press_continue" msgid="6506047902828925216">"Pressione Continuar quando terminar"</string>
+    <string name="lockpassword_press_continue" msgid="122706614386757182">"Toque em Continuar quando terminar"</string>
     <string name="lockpassword_continue_label" msgid="4602203784934526940">"Continuar"</string>
     <string name="lockpassword_password_too_long" msgid="7354418473281442589">"O PIN não pode ter mais do que %d dígitos"</string>
     <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"O PIN não pode ter mais do que %d dígitos"</string>
     <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"O PIN precisa conter apenas dígitos de 0 a 9"</string>
+    <string name="lockpassword_pin_recently_used" msgid="2729073062730842496">"O administrador do aparelho não permite o uso de um PIN recente"</string>
     <string name="lockpassword_illegal_character" msgid="6204396794254688549">"A senha contém um caractere ilegal"</string>
     <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"A senha precisa ter no mínimo uma letra."</string>
     <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"A senha precisa ter no mínimo um dígito."</string>
     <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"A senha precisa ter no mínimo um símbolo."</string>
+  <plurals name="lockpassword_password_requires_letters">
+    <item quantity="one" msgid="1462968118065694590">"A senha deve conter pelo menos uma letra"</item>
+    <item quantity="other" msgid="7278096339907683541">"A senha deve conter pelo menos %d letras"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_lowercase">
+    <item quantity="one" msgid="2048653993044269649">"A senha deve conter pelo menos uma letra minúscula"</item>
+    <item quantity="other" msgid="588499075580432178">"A senha deve conter pelo menos %d letras minúsculas"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_uppercase">
+    <item quantity="one" msgid="7677454174080582601">"A senha deve conter pelo menos uma letra maiúscula"</item>
+    <item quantity="other" msgid="2183090598541826806">"A senha deve conter pelo menos %d letras maiúsculas"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_numeric">
+    <item quantity="one" msgid="8585088032818933985">"A senha deve conter pelo menos um dígito numérico"</item>
+    <item quantity="other" msgid="995673409754935278">"A senha deve conter pelo menos %d dígitos numéricos"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_symbols">
+    <item quantity="one" msgid="3930886641317826293">"A senha deve conter pelo menos um símbolo especial"</item>
+    <item quantity="other" msgid="3047460862484105274">"A senha deve conter pelo menos %d símbolos especiais"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_nonletter">
+    <item quantity="one" msgid="1716355580615489062">"A senha deve conter pelo menos um caractere que não seja letra"</item>
+    <item quantity="other" msgid="5574191164708145973">"A senha deve conter pelo menos %d caracteres que não sejam letras"</item>
+  </plurals>
+    <string name="lockpassword_password_recently_used" msgid="2739642871806935825">"O administrador do aparelho não permite o uso de uma senha recente"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Cancelar"</string>
     <string name="device_admin_title" msgid="3562216873644263804">"Administração do dispositivo"</string>
@@ -303,9 +337,15 @@
     <string name="bluetooth_profile_a2dp" msgid="3259633293424539529">"Mídia"</string>
     <string name="bluetooth_profile_headset" msgid="1874975688666658946">"Telefone"</string>
     <string name="bluetooth_profile_opp" msgid="3799470046565284440">"Transferir"</string>
+    <string name="bluetooth_profile_hid" msgid="3000858580917633478">"Dispositivo de entrada"</string>
+    <!-- no translation found for bluetooth_profile_pan (4225813400648547154) -->
+    <skip />
     <string name="bluetooth_summary_connected_to_a2dp" msgid="510833839847758664">"Conectado ao áudio da mídia"</string>
     <string name="bluetooth_summary_connected_to_headset" msgid="4876496372728623918">"Conectado ao áudio do telefone"</string>
     <string name="bluetooth_summary_connected_to_a2dp_headset" msgid="3045032710457800891">"Conectado ao áudio do telefone e da mídia"</string>
+    <string name="bluetooth_summary_connected_to_hid" msgid="8147499644396475561">"Conectado ao dispositivo de entrada"</string>
+    <!-- no translation found for bluetooth_summary_connected_to_pan (3157622705092537266) -->
+    <skip />
     <string name="bluetooth_device_advanced_title" msgid="528816860793581131">"Opções de <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="bluetooth_device_advanced_online_mode_title" msgid="3689050071425683114">"Conectar"</string>
     <string name="bluetooth_device_advanced_online_mode_summary" msgid="1204424107263248336">"Conecta ao dispositivo Bluetooth"</string>
@@ -314,9 +354,13 @@
     <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Conectado ao áudio do telefone"</string>
     <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Conectado ao servidor de transferência de arquivo"</string>
     <string name="bluetooth_opp_profile_summary_not_connected" msgid="1267091356089086285">"Não está conectado ao servidor de transferência de arquivo"</string>
+    <string name="bluetooth_hid_profile_summary_connected" msgid="3381760054215168689">"Conectado ao dispositivo de entrada"</string>
+    <!-- no translation found for bluetooth_pan_profile_summary_connected (7456487225516323485) -->
+    <skip />
     <string name="bluetooth_a2dp_profile_summary_use_for" msgid="4630849022250168427">"Usar para áudio de mídia"</string>
     <string name="bluetooth_headset_profile_summary_use_for" msgid="8705753622443862627">"Usar para áudio do telefone"</string>
     <string name="bluetooth_opp_profile_summary_use_for" msgid="1255674547144769756">"Usado para transferência de arquivo"</string>
+    <string name="bluetooth_hid_profile_summary_use_for" msgid="232727040453645139">"Usar para entrada"</string>
     <string name="bluetooth_dock_settings" msgid="3218335822716052885">"Configurações de dock"</string>
     <string name="bluetooth_dock_settings_title" msgid="5543069893044375188">"Usar dock para áudio"</string>
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Como viva-voz"</string>
@@ -496,8 +540,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"Status"</string>
     <string name="device_status" msgid="607405385799807324">"Status"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Número de telefone, sinal etc."</string>
-    <string name="storage_settings" msgid="6681164315506788024">"SD e armazenamento"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"Configurações de SD e armazenamento"</string>
+    <!-- no translation found for storage_settings (4211799979832404953) -->
+    <skip />
+    <!-- no translation found for storage_settings_title (8746016738388094064) -->
+    <skip />
     <string name="storage_settings_summary" msgid="9176693537325988610">"Desmontar o cartão SD, visualizar armazenamento disponível"</string>
     <string name="status_number" msgid="5123197324870153205">"Meu número de telefone"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
@@ -588,12 +634,27 @@
     <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>
+    <!-- no translation found for tether_settings_title_usb (6688416425801386511) -->
+    <skip />
     <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>
+    <!-- no translation found for tether_settings_title_bluetooth (355855408317564420) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_usb_bluetooth (5355828977109785001) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_all (8356136101061143841) -->
+    <skip />
     <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>
+    <!-- no translation found for tether_settings_summary_bluetooth (4363059913219151114) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_wifi (3700323208282018772) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_bluetooth (4008195891276675882) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_wifi_bluetooth (2753904149495692201) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_all (1171769255924636665) -->
+    <skip />
     <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,6 +662,24 @@
     <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>
+    <!-- no translation found for bluetooth_tether_checkbox_text (2379175828878753652) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_available_subtext (3317112145693933963) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_connected_subtext (893888246368164894) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_off_subtext (1798863866978968964) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_errored_subtext (1344187103463073993) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_overflow_error (2222060504731415763) -->
+    <skip />
+    <!-- no translation found for bluetooth_untether_blank (2871192409329334813) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_text (2273368767599539525) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_subtext (5970033999897946708) -->
+    <skip />
     <string name="tethering_help_button_text" msgid="656117495547173630">"Ajuda"</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>
@@ -824,6 +903,7 @@
     <string name="quick_launch_display_mode_applications" msgid="3748789806447639039">"Aplicativos"</string>
     <string name="quick_launch_display_mode_shortcuts" msgid="4177934019174169042">"Atalhos"</string>
     <string name="input_methods_settings_title" msgid="6800066636850553887">"Entrada de texto"</string>
+    <string name="input_method" msgid="5434026103176856164">"Método de entrada"</string>
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Gerenciar opções de entrada de texto"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"Configurações de <xliff:g id="IME_NAME">%1$s</xliff:g>"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Configurações do teclado virtual"</string>
diff --git a/res/values-rm-nokeys/strings.xml b/res/values-rm-nokeys/strings.xml
new file mode 100644
index 0000000..e6c6621
--- /dev/null
+++ b/res/values-rm-nokeys/strings.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+  
+          http://www.apache.org/licenses/LICENSE-2.0
+  
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="applications_settings_summary" msgid="6616938758022986257">"Administrar las applicaziuns"</string>
+</resources>
diff --git a/res/values-rm/arrays.xml b/res/values-rm/arrays.xml
new file mode 100644
index 0000000..457c732
--- /dev/null
+++ b/res/values-rm/arrays.xml
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/*
+**
+** Copyright 2007 The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="timezone_filters">
+    <item msgid="5296756001147094692">"America"</item>
+    <item msgid="3005562397632768392">"Europa"</item>
+    <item msgid="5696915123093701218">"Africa"</item>
+    <item msgid="4439789052790868249">"Asia"</item>
+    <item msgid="956915953069815961">"Australia"</item>
+    <item msgid="5345178126174698955">"Pacific"</item>
+    <item msgid="8392017019801393511">"Tuts"</item>
+  </string-array>
+  <string-array name="animations_entries">
+    <item msgid="207790005475613429">"Naginas animaziuns"</item>
+    <item msgid="6291186755504776720">"Insaquantas animaziuns"</item>
+    <item msgid="3856065399819979491">"Tut las animaziuns"</item>
+  </string-array>
+  <string-array name="animations_summaries">
+    <item msgid="4569165952409350897">"I na vegn mussada nagina animaziun da fanestras."</item>
+    <item msgid="4460915688877708508">"Tschertas animaziuns da fanestras vegnan mussadas."</item>
+    <item msgid="488968798204105119">"Tut las animaziuns da fanestras vegnan mussadas"</item>
+  </string-array>
+  <string-array name="screen_timeout_entries">
+    <item msgid="3342301044271143016">"15 secundas"</item>
+    <item msgid="8881760709354815449">"30 secundas"</item>
+    <item msgid="7589406073232279088">"1 minuta"</item>
+    <item msgid="7001195990902244174">"2 minutas"</item>
+    <item msgid="5721688686241190620">"10 minutas"</item>
+    <item msgid="7156442995039264948">"30 minutas"</item>
+  </string-array>
+  <string-array name="tts_rate_entries">
+    <item msgid="6041212618892492920">"Fitg plaun"</item>
+    <item msgid="2361722960903353554">"Plaun"</item>
+    <item msgid="1145554631248513562">"Normal"</item>
+    <item msgid="7553665153391107454">"Svelt"</item>
+    <item msgid="2538100882620724753">"Fitg svelt"</item>
+  </string-array>
+  <string-array name="tts_pitch_entries">
+    <item msgid="7526050907652687351">"Fitg bass"</item>
+    <item msgid="2692137425242433765">"Bass"</item>
+    <item msgid="3332408460740717754">"Normal"</item>
+    <item msgid="4907380534957572531">"Aut"</item>
+    <item msgid="4699640516390840297">"Fitg aut"</item>
+  </string-array>
+  <string-array name="tts_lang_entries">
+    <item msgid="478030717868306353">"Englais american"</item>
+    <item msgid="5192284521396794598">"Englais britannic"</item>
+    <item msgid="3000262452051711991">"Franzos"</item>
+    <item msgid="9214080387341763401">"Tudestg"</item>
+    <item msgid="5972100016440094433">"Talian"</item>
+    <item msgid="5811378076054402537">"Spagnol"</item>
+  </string-array>
+  <string-array name="wifi_status">
+    <item msgid="1922181315419294640"></item>
+    <item msgid="8934131797783724664">"Tschertgar…"</item>
+    <item msgid="8513729475867537913">"Connectar…"</item>
+    <item msgid="515055375277271756">"Autentificaziun…"</item>
+    <item msgid="1943354004029184381">"Retschaiver l\'adressa IP…"</item>
+    <item msgid="4221763391123233270">"Connectà"</item>
+    <item msgid="624838831631122137">"Fermà"</item>
+    <item msgid="7979680559596111948">"Deconnectar…"</item>
+    <item msgid="1634960474403853625">"Deconnectà"</item>
+    <item msgid="746097431216080650">"Betg reussì"</item>
+  </string-array>
+  <string-array name="wifi_status_with_ssid">
+    <item msgid="7714855332363650812"></item>
+    <item msgid="8878186979715711006">"Retschertgar…"</item>
+    <item msgid="355508996603873860">"Connectar cun <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item>
+    <item msgid="554971459996405634">"Autentificaziun cun <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
+    <item msgid="7928343808033020343">"Obtegnair l\'adressa IP da <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
+    <item msgid="8937994881315223448">"Connectà cun <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item>
+    <item msgid="1330262655415760617">"Fermà"</item>
+    <item msgid="7698638434317271902">"Deconnectar da <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
+    <item msgid="197508606402264311">"Deconnectà"</item>
+    <item msgid="8578370891960825148">"Senza success"</item>
+  </string-array>
+  <string-array name="wifi_security">
+    <item msgid="1435933968767043814">"Avert"</item>
+    <item msgid="6318432659048829665">"WEP"</item>
+    <item msgid="2966395706508338179">"WPA/WPA2-PSK"</item>
+    <item msgid="9098390198768443435">"802.1x EAP"</item>
+  </string-array>
+  <string-array name="wifi_eap_method">
+    <item msgid="1160193392455075561">"PEAP"</item>
+    <item msgid="7981731051382306293">"TLS"</item>
+    <item msgid="2892994535305020162">"TTLS"</item>
+  </string-array>
+  <string-array name="wifi_signal">
+    <item msgid="2245412278046491293">"Flaivel"</item>
+    <item msgid="5615082285463430971">"Bun"</item>
+    <item msgid="3565079809875324621">"Bun"</item>
+    <item msgid="5702329417707689835">"Excellent"</item>
+  </string-array>
+  <string-array name="wifi_sleep_policy_entries">
+    <item msgid="3804733751095821976">"Sch\'il visur sa stizza"</item>
+    <item msgid="1549288661423279207">"\"Mai, sche connectà\""</item>
+    <item msgid="1986753720941888596">"Mai"</item>
+  </string-array>
+  <string-array name="usage_stats_display_order_types">
+    <item msgid="9077371706468756228">"Temp d\'utilisaziun"</item>
+    <item msgid="1908750532762193304">"Dumber quantas giadas avià"</item>
+    <item msgid="1213951670006606353">"Num da l\'applicaziun"</item>
+  </string-array>
+  <string-array name="wifi_eap_entries">
+    <item msgid="8615575908717909498">"PEAP"</item>
+    <item msgid="8667872640594311615">"TLS"</item>
+    <item msgid="7182812872984827322">"TTLS"</item>
+  </string-array>
+  <string-array name="wifi_phase2_entries">
+    <item msgid="1818786254010764570">"Nagina"</item>
+    <item msgid="6189918678874123056">"PAP"</item>
+    <item msgid="1524112260493662517">"MSCHAP"</item>
+    <item msgid="5923246669412752932">"MSCHAPV2"</item>
+    <item msgid="8651992560135239389">"GTC"</item>
+  </string-array>
+  <string-array name="emergency_tone_entries">
+    <item msgid="5165439859689033665">"Deactivà"</item>
+    <item msgid="3165868966179561687">"Avis"</item>
+    <item msgid="6038758039030476855">"Vibraziun"</item>
+  </string-array>
+  <string-array name="apn_auth_entries">
+    <item msgid="3856896061242872146">"Nagins"</item>
+    <item msgid="5756844015743664882">"PAP"</item>
+    <item msgid="535934025797984365">"CHAP"</item>
+    <item msgid="8383098660619805783">"PAP u CHAP"</item>
+  </string-array>
+  <string-array name="app_install_location_entries">
+    <item msgid="8151497958991952759">"Memoria interna da telefonin"</item>
+    <item msgid="3738430123799803530">"Carta SD che po vegnir barattada"</item>
+    <item msgid="4498124044785815005">"Laschar decider il sistem"</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-rm/strings.xml b/res/values-rm/strings.xml
new file mode 100644
index 0000000..8940471
--- /dev/null
+++ b/res/values-rm/strings.xml
@@ -0,0 +1,1271 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="yes" msgid="4676390750360727396">"Gea"</string>
+    <string name="no" msgid="6731231425810196216">"Na"</string>
+    <string name="device_info_default" msgid="7847265875578739287">"Nunenconuschent"</string>
+    <string name="turn_on_radio" msgid="8706561489788373676">"Activar il signal radio"</string>
+    <string name="turn_off_radio" msgid="1820294552893884115">"Deactivar la connexiun radiofonica"</string>
+    <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"Mussar il cudeschet d\'adressas da la carta SIM"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Mussar ils numers autorisads"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Mussar ils numers da telefon da servetsch"</string>
+    <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"Obtegnair la glista PDP"</string>
+    <string name="radioInfo_service_in" msgid="1915416319177520020">"En funcziun"</string>
+    <string name="radioInfo_service_out" msgid="5238736759641916278">"Ord funcziun"</string>
+    <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Mo cloms d\'urgenza"</string>
+    <string name="radioInfo_service_off" msgid="1434084741785525415">"Colliaziun radiofonica deactivada"</string>
+    <string name="radioInfo_roaming_in" msgid="9045363884600341051">"Roaming"</string>
+    <string name="radioInfo_roaming_not" msgid="2851853244069662307">"Nagin roaming"</string>
+    <string name="radioInfo_phone_idle" msgid="7489244938838742820">"Inactiv"</string>
+    <string name="radioInfo_phone_ringing" msgid="4883724645684297895">"Tun da scalin"</string>
+    <string name="radioInfo_phone_offhook" msgid="4174402846862780998">"Clom vegn stabilì"</string>
+    <string name="radioInfo_data_disconnected" msgid="1959735267890719418">"Deconnectà"</string>
+    <string name="radioInfo_data_connecting" msgid="8404571440697917823">"Connectar"</string>
+    <string name="radioInfo_data_connected" msgid="7074301157399238697">"Connectà"</string>
+    <string name="radioInfo_data_suspended" msgid="5315325487890334196">"Fermà"</string>
+    <string name="radioInfo_unknown" msgid="737385314432468266">"nunenconuschent"</string>
+    <string name="radioInfo_display_packets" msgid="8654359809877290639">"pachets"</string>
+    <string name="radioInfo_display_bytes" msgid="4018206969492931883">"bytes"</string>
+    <string name="radioInfo_display_dbm" msgid="3621221793699882781">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="1422248392727818082">"ASU"</string>
+    <string name="radioInfo_lac" msgid="8415219164758307156">"LAC"</string>
+    <string name="radioInfo_cid" msgid="4362599198392643138">"CID"</string>
+    <string name="sdcard_unmount" msgid="3364184561355611897">"Retrair la carta SD"</string>
+    <string name="sdcard_format" msgid="362497552060004057">"Formatar la carta SD"</string>
+    <string name="small_font" msgid="2295331917424072635">"Pitschen"</string>
+    <string name="medium_font" msgid="2068475425515133701">"Mesaun"</string>
+    <string name="large_font" msgid="599055175160971446">"Grond"</string>
+    <string name="font_size_save" msgid="3450855718056759095">"OK"</string>
+    <string name="sdcard_setting" msgid="5922637503871474866">"Carta SD"</string>
+    <string name="battery_info_status_label" msgid="8109155295509700309">"Status dal accu:"</string>
+    <string name="battery_info_power_label" msgid="7465140230991349382">"Colliaziun cun il conduct electric:"</string>
+    <string name="battery_info_scale_label" msgid="3649763192389778437">"Scala da l\'accu:"</string>
+    <string name="battery_info_level_label" msgid="8706526709307788737">"Nivel da l\'accu:"</string>
+    <string name="battery_info_health_label" msgid="6416051542741886958">"Status da la battaria:"</string>
+    <string name="battery_info_technology_label" msgid="788304533220748681">"Tecnologia da l\'accu:"</string>
+    <string name="battery_info_voltage_label" msgid="8971764146757637863">"Tensiun da l\'accu:"</string>
+    <string name="battery_info_voltage_units" msgid="8658490792208288107">"mV"</string>
+    <string name="battery_info_temperature_label" msgid="1968383098818648037">"Temperatura da l\'accu:"</string>
+    <string name="battery_info_temperature_units" msgid="9098950587249987550">"° C"</string>
+    <string name="battery_info_uptime" msgid="5548545143573527992">"Temp dapi l\'aviar:"</string>
+    <string name="battery_info_awake_battery" msgid="2557725975486185849">"Temp activ sur l\'accu:"</string>
+    <string name="battery_info_awake_plugged" msgid="176716874713478188">"Temp activ cun chargiar:"</string>
+    <string name="battery_info_screen_on" msgid="376277447175613889">"Visur activà:"</string>
+    <string name="battery_info_status_unknown" msgid="196130600938058547">"Nunenconuschent"</string>
+    <string name="battery_info_status_charging" msgid="1705179948350365604">"Vegn chargià"</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">"Stgargiada"</string>
+    <string name="battery_info_status_not_charging" msgid="2820070506621483576">"Na vegn betg chargià"</string>
+    <string name="battery_info_status_full" msgid="2824614753861462808">"Plain"</string>
+    <string name="battery_info_power_unplugged" msgid="5987246575519551081">"Betg connectà"</string>
+    <string name="battery_info_power_ac" msgid="6808516193001604634">"AC"</string>
+    <string name="battery_info_power_usb" msgid="8012931702516331797">"USB"</string>
+    <string name="battery_info_power_ac_usb" msgid="6777734146838328688">"AC+USB"</string>
+    <string name="battery_info_power_unknown" msgid="7344115502868899881">"Nunenconuschent"</string>
+    <string name="battery_info_health_unknown" msgid="5664295556921944255">"Nunenconuschent"</string>
+    <string name="battery_info_health_good" msgid="8070356565806711806">"Bun"</string>
+    <string name="battery_info_health_overheat" msgid="8442959549291368806">"Surstgaudada"</string>
+    <string name="battery_info_health_dead" msgid="1725917445762829059">"Vid"</string>
+    <string name="battery_info_health_over_voltage" msgid="2420269351664490121">"Surtensiun"</string>
+    <string name="battery_info_health_unspecified_failure" msgid="6347021103185471590">"Errur nunenconuschenta"</string>
+    <string name="bluetooth" msgid="5549625000628014477">"Bluetooth"</string>
+    <string name="bluetooth_visibility" msgid="2930835434091839916">"Visibel"</string>
+    <string name="bluetooth_is_discoverable" msgid="1205694503775884903">"Visibel durant <xliff:g id="DISCOVERABLE_TIME_PERIOD">%1$s</xliff:g> secundas…"</string>
+    <string name="bluetooth_not_discoverable" msgid="128269993123955177">"Far daventar visibel l\'apparat"</string>
+    <string name="bluetooth_lock_voice_dialing" msgid="3139322992062086225">"Bloccar la cumposiziun vocala"</string>
+    <string name="bluetooth_lock_voice_dialing_summary" msgid="4741338867496787042">"Impedir l\'utilisaziun dal dialer bluetooth sch\'il visur è bloccà"</string>
+    <string name="bluetooth_devices" msgid="1886018064039454227">"Apparats Bluetooth"</string>
+    <string name="bluetooth_device_name" msgid="8415828355207423800">"Num da l\'apparat"</string>
+    <string name="bluetooth_name_not_set" msgid="2653752006416027426">"\"Betg definì in num, il num dal conto vegn utilisà\""</string>
+    <string name="bluetooth_scan_for_devices" msgid="9214184305566815727">"Tschertga d\'apparats"</string>
+    <string name="bluetooth_disconnect_blank" msgid="8102076504922229274">"Serrar la connexiun cun <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
+    <string name="bluetooth_connected" msgid="6038755206916626419">"Connectà"</string>
+    <string name="bluetooth_disconnected" msgid="6557104142667339895">"Betg connectà"</string>
+    <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Deconnectar…"</string>
+    <string name="bluetooth_connecting" msgid="8555009514614320497">"Connectar…"</string>
+    <string name="bluetooth_unknown" msgid="644716244548801421"></string>
+    <string name="bluetooth_not_connected" msgid="3389882907500605937">"Associar cun quest apparat"</string>
+    <string name="bluetooth_pairing" msgid="1426882272690346242">"Associar…"</string>
+    <string name="bluetooth_paired" msgid="1247541089000057726">"\"Associà, ma betg connectà\""</string>
+    <string name="bluetooth_device" msgid="6873461446424952003">"mauns libers/uregliers"</string>
+    <string name="progress_scanning" msgid="3760897655335759141">"Tschertgar…"</string>
+    <string name="bluetooth_notif_ticker" msgid="4726721390078512173">"Dumonda d\'associaziun bluetooth"</string>
+    <string name="bluetooth_notif_title" msgid="2485175521845371514">"Dumonda d\'associaziun"</string>
+    <string name="bluetooth_notif_message" msgid="5381418499788668724">"Tscherner per associar cuntut "</string>
+    <string name="device_picker" msgid="8721012448931226323">"Tscherna dad apparats bluetooth"</string>
+    <string name="bluetooth_permission_request" msgid="1523129741266262748">"Dumonda d\'autorisaziun Bluetooth"</string>
+    <string name="bluetooth_ask_enablement" msgid="2342558978033892004">"Ina applicaziun sin Voss telefon dumonda l\'autorisaziun dad activar bluetooth. Permetter?"</string>
+    <string name="bluetooth_ask_discovery" msgid="669870705606180872">"Ina applicaziun sin Voss telefonin dumonda l\'autorisaziun dad activar la visibilitad da Voss telefonin per auters apparats da bluetooth durant <xliff:g id="TIMEOUT">%1$d</xliff:g> secundas. Vulais Vus quai?"</string>
+    <string name="bluetooth_ask_enablement_and_discovery" msgid="7220210326619399542">"Ina applicaziun sin Voss telefonin dumonda l\'autorisaziun dad activar bluetooth e far visibel Voss telefonin per auters apparats durant <xliff:g id="TIMEOUT">%1$d</xliff:g> secundas. Vulais Vus quai?"</string>
+    <string name="bluetooth_turning_on" msgid="3107102168379705771">"Bluetooth vegn activà…"</string>
+    <string name="date_and_time" msgid="4114084177056654663">"Parameters da data e da temp"</string>
+    <string name="date_time_12_hour_sample" msgid="3259617262618020574">"1:00:00"</string>
+    <string name="date_time_24_hour_sample" msgid="8916857570746212357">"13:00:00"</string>
+    <string name="date_time_changeTime_text" msgid="7037437020000867740">"Midar l\'ura"</string>
+    <string name="date_time_changeDate_text" msgid="5259762626498028057">"Data"</string>
+    <string name="choose_timezone" msgid="7762866468013985022">"Tscherner la zona d\'urari"</string>
+    <string name="normal_date_format" msgid="1982904221918374153">"Normal (<xliff:g id="DATE">%s</xliff:g>)"</string>
+    <string name="display_preview_label" msgid="1127597250917274792">"Prevista:"</string>
+    <string name="display_font_size_label" msgid="8941851418397475389">"Grondezza da la scrittira:"</string>
+    <!-- no translation found for intent_sender_data_label (6332324780477289261) -->
+    <skip />
+    <string name="intent_sender_sendbroadcast_text" msgid="1415735148895872715">"Trametter <xliff:g id="BROADCAST">broadcast</xliff:g>"</string>
+    <string name="intent_sender_action_label" msgid="616458370005452389">"<xliff:g id="ACTION">Action</xliff:g>:"</string>
+    <string name="intent_sender_startactivity_text" msgid="5080516029580421895">"Iniziar <xliff:g id="ACTIVITY">activity</xliff:g>"</string>
+    <string name="intent_sender_resource_label" msgid="6963659726895482829">"<xliff:g id="RESOURCE">Resource</xliff:g>:"</string>
+    <string name="intent_sender_account_label" msgid="465210404475603404">"Conto:"</string>
+    <!-- no translation found for proxy_settings_title (6262282922722097473) -->
+    <skip />
+    <!-- no translation found for proxy_settings_summary (7898928000758321486) -->
+    <skip />
+    <string name="proxy_clear_text" msgid="5555400754952012657">"Stizzar"</string>
+    <string name="proxy_port_label" msgid="2623639656638472491">"Port"</string>
+    <!-- no translation found for proxy_exclusionlist_label (204409815790850313) -->
+    <skip />
+    <string name="proxy_defaultView_text" msgid="6387985519141433291">"Restaurar il standard"</string>
+    <!-- no translation found for proxy_action_text (2957063145357903951) -->
+    <skip />
+    <string name="proxy_hostname_label" msgid="7531298584350977540">"Num da host"</string>
+    <string name="proxy_error" msgid="8926675299638611451">"Attenziun"</string>
+    <string name="proxy_error_dismiss" msgid="4993171795485460060">"OK"</string>
+    <string name="proxy_error_invalid_host" msgid="9120776460063182119">"Il num da host endatà è nunvalid."</string>
+    <!-- no translation found for proxy_error_invalid_exclusion_list (4753810662233875893) -->
+    <skip />
+    <string name="proxy_error_empty_port" msgid="3525734169948795417">"Vus stuais endatar ina valur en il champ Port."</string>
+    <string name="proxy_error_empty_host_set_port" msgid="2451694104858226781">"\"Il champ «Port» sto esser vid, sch\'il champ «Host» è vid.\""</string>
+    <string name="proxy_error_invalid_port" msgid="1816315605424943626">"Il port endatà è nunvalid."</string>
+    <string name="radio_info_signal_location_label" msgid="16475158265551708">"Posiziun:"</string>
+    <string name="radio_info_neighboring_location_label" msgid="2385625674055934880">"CID vischin:"</string>
+    <string name="radio_info_data_attempts_label" msgid="1731106244577323381">"Emprovas datas:"</string>
+    <string name="radio_info_gprs_service_label" msgid="2331818110375395364">"Servetsch GPRS:"</string>
+    <string name="radio_info_roaming_label" msgid="6141505430275138647">"Roaming:"</string>
+    <string name="radio_info_imei_label" msgid="1220524224732944192">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="1654674226961476872">"Renviar cloms:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="3241667824729310546">"Dumber da reinizialisaziuns PPP dapi l\'aviar:"</string>
+    <string name="radio_info_gsm_disconnects_label" msgid="1683069665736339820">"Deconnexiuns GSM:"</string>
+    <string name="radio_info_current_network_label" msgid="3256402602440102610">"Rait actuala:"</string>
+    <string name="radio_info_data_successes_label" msgid="4417894113689054945">"Success da datas:"</string>
+    <string name="radio_info_ppp_received_label" msgid="3345184342444878849">"Retschavì PPP:"</string>
+    <string name="radio_info_gsm_service_label" msgid="2082332114596916985">"Servetsch GSM:"</string>
+    <string name="radio_info_signal_strength_label" msgid="1931937920896925766">"Intensitad dal signal:"</string>
+    <string name="radio_info_call_status_label" msgid="4896238900685510883">"Status dal clom:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="5009102250704375687">"PPP tramess:"</string>
+    <string name="radio_info_radio_resets_label" msgid="9211343458143291617">"Reinizialisaziuns dal signal radiofonic:"</string>
+    <string name="radio_info_message_waiting_label" msgid="6981842420058672207">"Messadi spetgant:"</string>
+    <string name="radio_info_phone_number_label" msgid="7192944627907412169">"Numer da telefon:"</string>
+    <string name="radio_info_band_mode_label" msgid="441469694142042022">"Tscherner in champ da frequenza"</string>
+    <string name="radio_info_network_type_label" msgid="3706382548257257987">"Tip da rait:"</string>
+    <string name="radio_info_set_perferred_label" msgid="9039200405863503267">"Definir il tip da rait preferì:"</string>
+    <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Ping adr. IP:"</string>
+    <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Exequir in ping per in num da host (www.google.com):"</string>
+    <string name="radio_info_http_client_test" msgid="5733604021077701555">"Test client HTTP:"</string>
+    <string name="ping_test_label" msgid="7255376471490860631">"Exequir in test ping"</string>
+    <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Actualisaziun"</string>
+    <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Actualisar"</string>
+    <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"Activar u deactivar la controlla DNS"</string>
+    <string name="oem_radio_info_label" msgid="6163141792477958941">"Infos/parameters OEM"</string>
+    <string name="band_mode_title" msgid="954174198903776205">"Definir il sectur GSM/UMTS"</string>
+    <string name="band_mode_loading" msgid="548764766363847336">"Chargiar la glista da secturs…"</string>
+    <string name="band_mode_set" msgid="5730560180249458484">"Definir"</string>
+    <string name="band_mode_failed" msgid="1495968863884716379">"Betg reussì"</string>
+    <string name="band_mode_succeeded" msgid="2701016190055887575">"Cun success"</string>
+    <string name="sdcard_changes_instructions" msgid="1364712901180556244">"Las modificaziuns vegnan ad avair effect sch\'il cabel USB vegn connectà la proxima giada."</string>
+    <string name="sdcard_settings_screen_mass_storage_text" msgid="3741220147296482474">"Activar la memoria da massa USB"</string>
+    <string name="sdcard_settings_total_bytes_label" msgid="9184160745785062144">"Bytes en total:"</string>
+    <string name="sdcard_settings_not_present_status" msgid="6666688653496819947">"Nagina carta SD"</string>
+    <string name="sdcard_settings_available_bytes_label" msgid="763232429899373001">"Bytes disponibels:"</string>
+    <string name="sdcard_settings_mass_storage_status" msgid="4786433969313661655">"La carta SD vegn utilisada sco memoria da massa"</string>
+    <string name="sdcard_settings_unmounted_status" msgid="3812022095683863087">"La carta SD po ussa vegnir allontanada."</string>
+    <string name="sdcard_settings_bad_removal_status" msgid="5145797653495907970">"La carta SD è vegnida retratga durant l\'utilisaziun!"</string>
+    <string name="sdcard_settings_used_bytes_label" msgid="8820289486001170836">"Bytes utilisads:"</string>
+    <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"Tschertgar datotecas da multimedia sin la carta SD…"</string>
+    <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"Carta SD montada mo per lectura"</string>
+    <string name="next_label" msgid="4693520878012668114">"Vinavant"</string>
+    <!-- no translation found for language_picker_title (5349877711342869319) -->
+    <skip />
+    <string name="activity_picker_label" msgid="4910700713930693329">"Tscherner in\'acziun"</string>
+    <string name="device_info_label" msgid="6551553813651711205">"Infurmaziuns da l\'apparat"</string>
+    <string name="battery_info_label" msgid="4132685016148679403">"Infurmaziuns da l\'accu"</string>
+    <string name="display_label" msgid="7403874003169865762">"Visur"</string>
+    <string name="phone_info_label" msgid="2127552523124277664">"Infos davart il telefon"</string>
+    <string name="sd_card_settings_label" msgid="5743100901106177102">"Carta SD"</string>
+    <string name="proxy_settings_label" msgid="3271174136184391743">"Parameters proxy"</string>
+    <string name="cancel" msgid="6859253417269739139">"Interrumper"</string>
+    <string name="settings_label" msgid="1626402585530130914">"Parameters"</string>
+    <string name="settings_shortcut" msgid="3672145147925639262">"Parameters"</string>
+    <string name="airplane_mode" msgid="8837269988154128601">"Modus d\'aviun"</string>
+    <string name="airplane_mode_summary" msgid="3154817401368780988">"Deactivar tut las connexiuns senza fil"</string>
+    <string name="airplane_mode_turning_on" msgid="8871739222526957255">"Deactivar connexiuns senza fil…"</string>
+    <string name="airplane_mode_turning_off" msgid="3393168549611505996">"Activaziun da las connexiuns senza fil…"</string>
+    <string name="radio_controls_title" msgid="5868688473587168882">"Senza fil &amp; raits"</string>
+    <string name="wireless_networks_settings_title" msgid="149274247949769551">"Parameters da rait e wireless"</string>
+    <string name="radio_controls_summary" msgid="2998818677094465517">"\"Configurar WLAN, bluetooth, il modus d\'aviun, las raits mobilas e VPN \""</string>
+    <string name="roaming" msgid="3596055926335478572">"Roaming da datas"</string>
+    <string name="roaming_enable" msgid="3737380951525303961">"Connectar als servetschs da datas cun roaming"</string>
+    <string name="roaming_disable" msgid="1295279574370898378">"Connectar als servetschs da datas sche roaming vegn utilisà"</string>
+    <string name="roaming_reenable_message" msgid="9141007271031717369">"La connexiun è interrutta perquai che Vus essas sortì da la rait da chasa ed il roaming da datas n\'è betg activà."</string>
+    <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Activar"</string>
+    <string name="roaming_warning" msgid="1269870211689178511">"Permetter il roaming da datas? Las tariffas da roaming pon esser considerablas!"</string>
+    <string name="roaming_reenable_title" msgid="7626425894611573131">"Attenziun"</string>
+    <string name="networks" msgid="6333316876545927039">"Tscherner in purschider da rait"</string>
+    <string name="sum_carrier_select" msgid="6648929373316748020">"Tscherner in purschider da rait"</string>
+    <string name="date_and_time_settings_title" msgid="3350640463596716780">"Data ed ura"</string>
+    <string name="date_and_time_settings_summary" msgid="2435705040205950381">"\"Configurar la data, il temp, la zona d\'urari ed ils formats\""</string>
+    <string name="date_time_auto" msgid="3086083265745944725">"Automaticamain"</string>
+    <string name="date_time_auto_summaryOn" msgid="9034585614665299846">"Utilisar las valurs messas a disposiziun da la rait"</string>
+    <string name="date_time_auto_summaryOff" msgid="3900356736797266448">"Utilisar las valurs da la rait"</string>
+    <string name="date_time_24hour" msgid="1193032284921000063">"Format da 24 h"</string>
+    <string name="date_time_set_time" msgid="5716856602742530696">"Drizzar l\'ura"</string>
+    <string name="date_time_set_timezone" msgid="5045627174274377814">"Tscherner la zona d\'urari"</string>
+    <string name="date_time_set_date" msgid="7021491668550232105">"Definir la data"</string>
+    <string name="date_time_date_format" msgid="436706100255870967">"Tscherner in format da data"</string>
+    <string name="zone_list_menu_sort_alphabetically" msgid="5683377702671088588">"Zavrar tenor l\'alfabet"</string>
+    <string name="zone_list_menu_sort_by_timezone" msgid="2720190443744884114">"Zavrar tenor zona d\'urari"</string>
+    <string name="security_settings_title" msgid="5168491784222013179">"Lieu e segirezza"</string>
+    <string name="location_security_settings_title" msgid="4624434296446625554">"Parameters da segirezza e localisaziun"</string>
+    <string name="security_settings_summary" msgid="967393342537986570">"\"Definir ils parameters da Mia posiziun, da la debloccada dal visur, da la bloccada da la carta SIM e da la bloccada da la memoria da las infurmaziuns d\'annunzia\""</string>
+    <string name="cdma_security_settings_summary" msgid="6068799952798901542">"\"Definir mia posiziun, debloccar il visur, bloccar la memoria dad infurmaziuns d\'annunzia\""</string>
+    <string name="security_passwords_title" msgid="2930627259125138363">"Pleds-clav"</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">"Deactivar la bloccada dal visur"</string>
+    <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Allontanar in schema da debloccaziun"</string>
+    <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Allontanar il PIN da debloccaziun"</string>
+    <string name="unlock_disable_lock_password_summary" msgid="192161194564577025">"Stizzar il pled-clav da debloccaziun"</string>
+    <string name="unlock_change_lock_pattern_title" msgid="2044092014872741130">"Midar il schema da debloccaziun"</string>
+    <string name="unlock_change_lock_pin_title" msgid="806629901095938484">"Midar il PIN da debloccaziun"</string>
+    <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Midar il pled-clav da debloccaziun"</string>
+    <string name="lockpassword_password_too_short" msgid="7328975683669256660">"Il pled-clav sto cuntegnair almain %d caracters."</string>
+    <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"Il PIN sto cuntegnair almain %d caracters."</string>
+    <!-- no translation found for lockpassword_press_continue (122706614386757182) -->
+    <skip />
+    <string name="lockpassword_continue_label" msgid="4602203784934526940">"Vinavant"</string>
+    <string name="lockpassword_password_too_long" msgid="7354418473281442589">"Il PIN dastga cuntegnair maximalmain %d caracters."</string>
+    <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"Il PIN dastga sin il pli cuntegnair %d segns."</string>
+    <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"Il PIN dastga mo cuntegnair las cifras 0-9."</string>
+    <!-- no translation found for lockpassword_pin_recently_used (2729073062730842496) -->
+    <skip />
+    <string name="lockpassword_illegal_character" msgid="6204396794254688549">"Il pled-clav cuntegna in caracter nunvalid."</string>
+    <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"Il pled-clav sto cuntegnair almain in caracter"</string>
+    <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"Il pled-clav sto cuntegnair almain ina cifra"</string>
+    <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"Il pled-clav sto cuntegnair almain in simbol"</string>
+    <!-- no translation found for lockpassword_password_requires_letters:one (1462968118065694590) -->
+    <!-- no translation found for lockpassword_password_requires_letters:other (7278096339907683541) -->
+    <!-- no translation found for lockpassword_password_requires_lowercase:one (2048653993044269649) -->
+    <!-- no translation found for lockpassword_password_requires_lowercase:other (588499075580432178) -->
+    <!-- no translation found for lockpassword_password_requires_uppercase:one (7677454174080582601) -->
+    <!-- no translation found for lockpassword_password_requires_uppercase:other (2183090598541826806) -->
+    <!-- no translation found for lockpassword_password_requires_numeric:one (8585088032818933985) -->
+    <!-- no translation found for lockpassword_password_requires_numeric:other (995673409754935278) -->
+    <!-- no translation found for lockpassword_password_requires_symbols:one (3930886641317826293) -->
+    <!-- no translation found for lockpassword_password_requires_symbols:other (3047460862484105274) -->
+    <!-- no translation found for lockpassword_password_requires_nonletter:one (1716355580615489062) -->
+    <!-- no translation found for lockpassword_password_requires_nonletter:other (5574191164708145973) -->
+    <!-- no translation found for lockpassword_password_recently_used (2739642871806935825) -->
+    <skip />
+    <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
+    <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Interrumper"</string>
+    <string name="device_admin_title" msgid="3562216873644263804">"Administraziun dals apparats"</string>
+    <string name="manage_device_admin" msgid="3864120111085199551">"Tscherner ils administraturs da l\'apparat"</string>
+    <string name="manage_device_admin_summary" msgid="915390201809231575">"Agiuntar u allontanar administraturs dad apparats"</string>
+    <string name="bluetooth_quick_toggle_title" msgid="1037056952714061893">"Bluetooth"</string>
+    <string name="bluetooth_quick_toggle_summary" msgid="5293641680139873341">"Activar Bluetooth"</string>
+    <string name="bluetooth_settings" msgid="2725796451253089609">"Parameters bluetooth"</string>
+    <string name="bluetooth_settings_title" msgid="2824020086246268296">"Parameters Bluetooth"</string>
+    <string name="bluetooth_settings_summary" msgid="2091062709530570462">"\"Administrar las connexiuns, configurar il num e l\'identificaziun da l\'apparat\""</string>
+    <string name="bluetooth_pairing_request" msgid="6385750334766370310">"Dumonda d\'associaziun bluetooth"</string>
+    <string name="bluetooth_device_info" msgid="6644515376523965073">"Infos da l\'apparat bluetooth"</string>
+    <string name="bluetooth_enter_pin_msg" msgid="856962526754150334">"\""\n"Endatar il PIN per associar cun \"\"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\"\". Empruvai cun 0000 u 1234.\""</string>
+    <string name="bluetooth_enter_passkey_msg" msgid="8121515818772179228">"\""\n"Endatar la clav per exequir l\'associaziun cun \"\"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\"\".\""</string>
+    <string name="bluetooth_confirm_passkey_msg" msgid="1205362283945104263">"\"Avant che connectar cun <xliff:g id="DEVICE_NAME">%1$s</xliff:g>, verifitgar che la clav d\'access vegn mussada: <xliff:g id="PASSKEY">%2$s</xliff:g>.\""</string>
+    <string name="bluetooth_incoming_pairing_msg" msgid="1076613564387784476">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>"\n"vul far l\'associaziun."</string>
+    <string name="bluetooth_display_passkey_msg" msgid="3048496029389441579">"\"Endatai <xliff:g id="PASSKEY">%2$s</xliff:g> en \"\"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\"\" per far l\'associaziun.\""</string>
+    <string name="bluetooth_pairing_accept" msgid="6163520056536604875">"Connectar"</string>
+    <string name="bluetooth_pairing_decline" msgid="930951069988011471">"Betg associar"</string>
+    <string name="bluetooth_remote_device" msgid="2406662802908395389">"Apparat periferic bluetooth"</string>
+    <string name="bluetooth_error_title" msgid="538287072376677166">"Adatg"</string>
+    <string name="bluetooth_pairing_error_message" msgid="2852744547246910349">"Durant l\'associaziun cun <xliff:g id="DEVICE_NAME">%1$s</xliff:g> è cumparì in problem."</string>
+    <string name="bluetooth_pairing_pin_error_message" msgid="6065697229258906937">"Durant l\'associaziun cun <xliff:g id="DEVICE_NAME">%1$s</xliff:g> è cumparì in problem perquai ch\'il PIN u la clav endatada èn nuncorrects."</string>
+    <string name="bluetooth_pairing_device_down_error_message" msgid="6688215193824686741">"Impussibel da stabilir ina connexiun cun <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
+    <string name="bluetooth_pairing_rejected_error_message" msgid="1648157108520832454">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ha refusà l\'associaziun."</string>
+    <string name="bluetooth_connecting_error_message" msgid="1779660510084746802">"Ina errur è cumparida durant l\'emprova da connectar cun <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
+    <string name="bluetooth_preference_scan_title" msgid="2277464653118896016">"Tschertgar apparats"</string>
+    <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Connectar"</string>
+    <string name="bluetooth_device_context_disconnect" msgid="8220072022970148683">"Deconnectar"</string>
+    <string name="bluetooth_device_context_pair_connect" msgid="7611522504813927727">"Associar e connectar"</string>
+    <string name="bluetooth_device_context_unpair" msgid="662992425948536144">"Deactivar l\'associaziun"</string>
+    <string name="bluetooth_device_context_disconnect_unpair" msgid="7644014238070043798">"Deconnectar e deactivar l\'associaziun"</string>
+    <string name="bluetooth_device_context_connect_advanced" msgid="2643129703569788771">"Opziuns…"</string>
+    <string name="bluetooth_connect_specific_profiles_title" msgid="6952214406025825164">"Connectar cun…"</string>
+    <string name="bluetooth_profile_a2dp" msgid="3259633293424539529">"Multimedia"</string>
+    <string name="bluetooth_profile_headset" msgid="1874975688666658946">"Telefon"</string>
+    <string name="bluetooth_profile_opp" msgid="3799470046565284440">"Transmissiun"</string>
+    <!-- no translation found for bluetooth_profile_hid (3000858580917633478) -->
+    <skip />
+    <!-- no translation found for bluetooth_profile_pan (4225813400648547154) -->
+    <skip />
+    <string name="bluetooth_summary_connected_to_a2dp" msgid="510833839847758664">"Connectà cun il sistem d\'audio da las medias"</string>
+    <string name="bluetooth_summary_connected_to_headset" msgid="4876496372728623918">"Connectà cun ils parameters audio dal telefon"</string>
+    <string name="bluetooth_summary_connected_to_a2dp_headset" msgid="3045032710457800891">"Connectà cun ils parameters audio dal telefonin e da las medias"</string>
+    <!-- no translation found for bluetooth_summary_connected_to_hid (8147499644396475561) -->
+    <skip />
+    <!-- no translation found for bluetooth_summary_connected_to_pan (3157622705092537266) -->
+    <skip />
+    <string name="bluetooth_device_advanced_title" msgid="528816860793581131">"Opziuns da <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="bluetooth_device_advanced_online_mode_title" msgid="3689050071425683114">"Connectar"</string>
+    <string name="bluetooth_device_advanced_online_mode_summary" msgid="1204424107263248336">"Connectar cun in apparat bluetooth"</string>
+    <string name="bluetooth_device_advanced_profile_header_title" msgid="3764437426089639639">"Profils"</string>
+    <string name="bluetooth_a2dp_profile_summary_connected" msgid="963376081347721598">"Connectà cun ils parameters audio da las medias"</string>
+    <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Connectà cun il sistem dad audio dal telefonin"</string>
+    <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Connectà cun il server da transmissiun da datotecas"</string>
+    <string name="bluetooth_opp_profile_summary_not_connected" msgid="1267091356089086285">"Betg connectà cun il server da transmissiun da datotecas"</string>
+    <!-- no translation found for bluetooth_hid_profile_summary_connected (3381760054215168689) -->
+    <skip />
+    <!-- no translation found for bluetooth_pan_profile_summary_connected (7456487225516323485) -->
+    <skip />
+    <string name="bluetooth_a2dp_profile_summary_use_for" msgid="4630849022250168427">"Utilisar per ils parameters dad audio da las medias"</string>
+    <string name="bluetooth_headset_profile_summary_use_for" msgid="8705753622443862627">"Utilisar per ils parameters audio dal telefon"</string>
+    <string name="bluetooth_opp_profile_summary_use_for" msgid="1255674547144769756">"Utilisar per la transmissiun da datotecas"</string>
+    <!-- no translation found for bluetooth_hid_profile_summary_use_for (232727040453645139) -->
+    <skip />
+    <string name="bluetooth_dock_settings" msgid="3218335822716052885">"Parameters da la basa"</string>
+    <string name="bluetooth_dock_settings_title" msgid="5543069893044375188">"Utilisar la basa per l\'audio"</string>
+    <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Sco telefon ad autpledader"</string>
+    <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Per musica e multimedia"</string>
+    <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Memorisar ils parameters"</string>
+    <string name="wifi_quick_toggle_title" msgid="874495178395350104">"WLAN"</string>
+    <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Activar WLAN"</string>
+    <string name="wifi_settings" msgid="4746946030627213196">"Parameters WLAN"</string>
+    <string name="wifi_settings_category" msgid="2810363951104753710">"Parameters WLAN"</string>
+    <string name="wifi_settings_summary" msgid="668767638556052820">"Configurar &amp; administrar ils puncts d\'access WLAN"</string>
+    <string name="wifi_starting" msgid="6710266609710860129">"Activaziun…"</string>
+    <string name="wifi_stopping" msgid="5952909472548218348">"Deactivar…"</string>
+    <string name="wifi_error" msgid="3207971103917128179">"Errur"</string>
+    <string name="wifi_in_airplane_mode" msgid="7618393787965366655">"En il modus d\'aviun"</string>
+    <string name="wifi_fail_to_scan" msgid="6194542252808587669">"Impussibel da tschertgar las raits."</string>
+    <string name="wifi_notify_open_networks" msgid="3755768188029653293">"Avis da rait"</string>
+    <string name="wifi_notify_open_networks_summary" msgid="3038290727701553612">"M\'avisar sch\'ina rait averta è disponibla"</string>
+    <string name="wifi_add_network" msgid="1671334951296205616">"Agiuntar ina rait WLAN"</string>
+    <string name="wifi_access_points" msgid="2664629396767022441">"Raits WLAN"</string>
+    <string name="wifi_menu_scan" msgid="1470911530412095868">"Tschertgar"</string>
+    <string name="wifi_menu_advanced" msgid="7522252991919573664">"Avanzà"</string>
+    <string name="wifi_menu_connect" msgid="4996220309848349408">"Connectar cun la rait"</string>
+    <string name="wifi_menu_forget" msgid="8736964302477327114">"Allontanar la rait"</string>
+    <string name="wifi_menu_modify" msgid="2068554918652440105">"Midar la rait"</string>
+    <string name="wifi_ssid" msgid="641393708309146745">"SSID da la rait"</string>
+    <string name="wifi_security" msgid="6603611185592956936">"Segirezza"</string>
+    <string name="wifi_signal" msgid="5514120261628065287">"Intensitad dal signal"</string>
+    <string name="wifi_status" msgid="4824568012414605414">"Status"</string>
+    <string name="wifi_speed" msgid="3526198708812322037">"Sveltezza da la connexiun"</string>
+    <string name="wifi_ip_address" msgid="1440054061044402918">"Adressa IP"</string>
+    <string name="wifi_eap_method" msgid="8529436133640730382">"Metoda EAP"</string>
+    <!-- no translation found for please_select_phase2 (5231074529772044898) -->
+    <skip />
+    <string name="wifi_eap_ca_cert" msgid="3521574865488892851">"Certificat CA"</string>
+    <string name="wifi_eap_user_cert" msgid="1291089413368160789">"Certificat utilisader"</string>
+    <string name="wifi_eap_identity" msgid="4359453783379679103">"Identitad"</string>
+    <string name="wifi_eap_anonymous" msgid="2989469344116577955">"Identitad anonima"</string>
+    <string name="wifi_password" msgid="5948219759936151048">"Pled-clav"</string>
+    <string name="wifi_show_password" msgid="4235237470701732009">"Mussar il pled-clav"</string>
+    <string name="wifi_unchanged" msgid="3410422020930397102">"(betg modifitgà)"</string>
+    <string name="wifi_unspecified" msgid="5431501214192991253">"(betg specifitgà)"</string>
+    <string name="wifi_remembered" msgid="8426719916135950136">"Memorisà"</string>
+    <string name="wifi_disabled" msgid="2104752038187543712">"Deactivà"</string>
+    <string name="wifi_not_in_range" msgid="1136191511238508967">"Betg cuntanschibel"</string>
+    <string name="wifi_secured" msgid="6759903183748011566">"Segirà cun <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string>
+    <string name="wifi_secured_with_status" msgid="6489317496506267302">"\"<xliff:g id="WIFI_STATUS">%2$s</xliff:g>, segirà cun <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>\""</string>
+    <string name="wifi_connect" msgid="1076622875777072845">"Connectar"</string>
+    <string name="wifi_forget" msgid="8168174695608386644">"Allontanar"</string>
+    <string name="wifi_save" msgid="3331121567988522826">"Memorisar"</string>
+    <string name="wifi_cancel" msgid="6763568902542968964">"Interrumper"</string>
+    <string name="wifi_advanced_titlebar" msgid="5419052271935350999">"Avanzà"</string>
+    <string name="wifi_setting_num_channels_title" msgid="694031537019656132">"Domena regulatur"</string>
+    <string name="wifi_setting_num_channels_summary" msgid="4889355096717099141">"Definir il dumber da chanals dad utilisar"</string>
+    <string name="wifi_setting_num_channels_error" msgid="5765443843427870721">"Cun endrizzar la domena è cumparì in problem."</string>
+    <string name="wifi_setting_num_channels_channel_phrase" msgid="1269381923672908636">"<xliff:g id="NUM_CHANNELS">%1$d</xliff:g> chanals"</string>
+    <string name="wifi_setting_sleep_policy_title" msgid="1367731352485585528">"Directiva da standby WLAN"</string>
+    <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Definir cura ch\'i duai vegnir midà da WLAN sin la rait da telefon"</string>
+    <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Cun endrizzar ina directiva da standby è cumparì in problem."</string>
+    <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"Adressa MAC"</string>
+    <!-- no translation found for wifi_advanced_ip_address_title (6215297094363164846) -->
+    <skip />
+    <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"Parameters IP"</string>
+    <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Memorisar"</string>
+    <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Interrumper"</string>
+    <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Endatai per plaschair ina adressa IP valida."</string>
+    <string name="wifi_use_static_ip" msgid="2133464242165642230">"Utilisar ina IP statica"</string>
+    <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string>
+    <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>
+    <!-- no translation found for wifi_tether_checkbox_text (6961605862058056788) -->
+    <skip />
+    <!-- no translation found for wifi_tether_enabled_subtext (8948641212931906143) -->
+    <skip />
+    <!-- no translation found for wifi_tether_failed_subtext (2654888578056042315) -->
+    <skip />
+    <!-- no translation found for wifi_tether_settings_text (123573487844470195) -->
+    <skip />
+    <!-- no translation found for wifi_tether_settings_subtext (8064755682383367008) -->
+    <skip />
+    <!-- no translation found for wifi_tether_settings_title (3749063216348284432) -->
+    <skip />
+    <!-- no translation found for wifi_tether_configure_ap_text (3474995108398156258) -->
+    <skip />
+    <!-- no translation found for wifi_tether_configure_subtext (1927454307836232128) -->
+    <skip />
+    <!-- no translation found for wifi_tether_configure_ssid_default (8467525402622138547) -->
+    <skip />
+    <string name="sound_settings_title" msgid="8735891486683305886">"Tun"</string>
+    <string name="display_settings_title" msgid="1708697328627382561">"Visur"</string>
+    <string name="sound_settings" msgid="5007659014828162881">"Parameters da tun"</string>
+    <string name="silent_mode_title" msgid="3181479108593217704">"Modus silenzius"</string>
+    <string name="silent_mode_summary" msgid="3309650676072917899">"\"Nagin tun, danor per medias e svegliarin\""</string>
+    <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Tut ils tuns exclus quels da datotecas da multimedia èn deactivads"</string>
+    <string name="ringtone_title" msgid="5379026328015343686">"Tun da scalin"</string>
+    <string name="ringtone_summary" msgid="2630023412632683493"></string>
+    <string name="all_volume_title" msgid="8741571721868253103">"Volumen"</string>
+    <string name="ring_volume_title" msgid="7938706566797464165">"Volumen dal tun da scalin"</string>
+    <string name="ring_volume_summary" msgid="7055497624193116879"></string>
+    <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Vibrar en il modus silenzius"</string>
+    <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Permetter la vibraziun en il modus silenzius"</string>
+    <!-- no translation found for vibrate_title (6045820877942801599) -->
+    <skip />
+    <!-- no translation found for vibrate_summary (7378130397830790458) -->
+    <skip />
+    <string name="notification_sound_title" msgid="6316316069880531693">"Tun dad avis"</string>
+    <string name="notification_sound_summary" msgid="2953599929394109819"></string>
+    <string name="notification_pulse_title" msgid="1247988024534030629">"Glisch d\'avis pulsanta"</string>
+    <string name="notification_pulse_summary" msgid="6899220780534617152">"Far pulsar pliras giadas la glisch dal trackball en cas da novs avis"</string>
+    <string name="incoming_call_volume_title" msgid="8073714801365904099">"Tun da scalin"</string>
+    <string name="notification_volume_title" msgid="2012640760341080408">"Avis"</string>
+    <string name="checkbox_notification_same_as_incoming_call" msgid="1073644356290338921">"Utilisar il volumen da tun dals cloms che entran per ils avis"</string>
+    <string name="notification_sound_dialog_title" msgid="7057274209079144726">"Tscherner in tun per avis"</string>
+    <string name="media_volume_title" msgid="3576565767317118106">"Multimedia"</string>
+    <string name="media_volume_summary" msgid="5363248930648849974">"Reglar il volumen per la musica ed ils videos"</string>
+    <string name="alarm_volume_title" msgid="2285597478377758706">"Svegliarin"</string>
+    <string name="dock_settings_summary" msgid="455802113668982481">"Parameters audio da la basa attatgada"</string>
+    <string name="dtmf_tone_enable_title" msgid="1453831168789523185">"Smatgs udibels"</string>
+    <string name="dtmf_tone_enable_summary_on" msgid="3028201873989887327">"Tastas cun tun durant cumponer"</string>
+    <string name="dtmf_tone_enable_summary_off" msgid="7791065951268525678">"Activar ils tuns da la tastatura cun cumponer"</string>
+    <string name="sound_effects_enable_title" msgid="3197313718929122833">"Selecziuns udiblas"</string>
+    <string name="sound_effects_enable_summary_on" msgid="6154141289879491329">"Sunar in tun cun tscherner sin il visur"</string>
+    <string name="sound_effects_enable_summary_off" msgid="3447739581759560125">"Tun cun tscherner sin il visur"</string>
+    <string name="lock_sounds_enable_title" msgid="1575990840389107141">"Tun cun bloccar il visur"</string>
+    <string name="lock_sounds_enable_summary_on" msgid="145741024028391473">"Sunar in tun cun bloccar e debloccar il visur"</string>
+    <string name="lock_sounds_enable_summary_off" msgid="8481243116223542804">"Sunar in tun cun bloccar e debloccar il visur"</string>
+    <string name="haptic_feedback_enable_title" msgid="6311736559245411290">"Reacziun palpabla"</string>
+    <string name="haptic_feedback_enable_summary_on" msgid="1875779656524793053">"Vibrar cun smatgar softkeys e far tschertas interacziuns UI"</string>
+    <string name="haptic_feedback_enable_summary_off" msgid="7287885436963105314">"Vibrar cun smatgar softkeys e far tschertas interacziuns UI"</string>
+    <string name="audio_record_proc_title" msgid="4271091199976457534">"Filter da ramurs"</string>
+    <string name="audio_record_proc_summary" msgid="8113628457499616498">"Eliminescha ramurs estras cun discurrer u registrar."</string>
+    <string name="dock_settings" msgid="1820107306693002541">"Basa"</string>
+    <string name="dock_settings_title" msgid="9161438664257429372">"Parameters da la basa"</string>
+    <string name="dock_audio_settings_title" msgid="3324750259959570305">"Audio"</string>
+    <string name="dock_audio_summary_desk" msgid="6487784412371139335">"Parameters da la basa desktop attatgada"</string>
+    <string name="dock_audio_summary_car" msgid="6740897586006248450">"Parameters da la basa da l\'auto associada"</string>
+    <string name="dock_audio_summary_none" msgid="289909253741048784">"Il telefon n\'è betg attatgà a la basa."</string>
+    <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"Parameters da la basa attatgada"</string>
+    <string name="dock_not_found_title" msgid="3290961741828952424">"Betg chattà la basa"</string>
+    <string name="dock_not_found_text" msgid="3035260358985111855">"\"Per configurar ils parameters audio da la basa, sto il telefonin esser attatgà a la basa.\""</string>
+    <string name="dock_sounds_enable_title" msgid="3659084028644948905">"Tun cun attatgar a la basa"</string>
+    <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"Sunar in tun cun attatgar il telefonin a la basa u cun separar el da la tala"</string>
+    <string name="dock_sounds_enable_summary_off" msgid="3151046599205265919">"Betg sunar in tun cun attatgar il telefonin a la basa u cun separar el da la tala"</string>
+    <string name="sync_settings" msgid="9186125469300013491">"Contos e sincronisaziun"</string>
+    <string name="sync_settings_summary" msgid="2962179505214965667">"Agiuntar u allontanar contos e modifitgar lur parameters"</string>
+    <string name="search_settings" msgid="1910951467596035063">"Tschertgar"</string>
+    <string name="search_settings_summary" msgid="9205656546570654169">"Configurar ils parameters e la cronologia da tschertga"</string>
+    <string name="display_settings" msgid="3912042046350078328">"Parameters dal visur"</string>
+    <string name="animations_title" msgid="1062189037402346023">"Animaziun"</string>
+    <string name="animations_summary_on" msgid="8843613112130484436">"Mussar ina animaziun cun avrir e serrar fanestras"</string>
+    <string name="animations_summary_off" msgid="2777026828025551983">"Animar las fanestras cun avrir e serrar"</string>
+    <string name="accelerometer_title" msgid="7854608399547349157">"Rotar automaticamain il visur"</string>
+    <string name="accelerometer_summary_on" msgid="1133737282813048021">"Midar automaticamain l\'orientaziun cun rotar il telefonin"</string>
+    <string name="accelerometer_summary_off" msgid="5485489363715740761">"Midar automaticamain l\'orientaziun cun volver il telefonin"</string>
+    <string name="brightness" msgid="2354961343555249270">"Clerezza"</string>
+    <string name="brightness_summary" msgid="838917350127550703">"Adattar la clerezza dal visur"</string>
+    <string name="screen_timeout" msgid="4882669461447531301">"Timeout dal visur"</string>
+    <string name="screen_timeout_summary" msgid="2905757633140605334">"Definir il retardament avant ch\'il visur sa stizza automaticamain"</string>
+    <string name="automatic_brightness" msgid="5014143533884135461">"Clerezza automatica"</string>
+    <string name="sim_lock_settings" msgid="3392331196873564292">"Parameters da bloccaziun SIM"</string>
+    <string name="sim_lock_settings_category" msgid="5136244267576697004">"Configurar la bloccada SIM"</string>
+    <string name="sim_lock_settings_title" msgid="9018585580955414596">"Bloccaziun da la SIM"</string>
+    <string name="sim_pin_toggle" msgid="1742123478029451888">"Bloccar la carta SIM"</string>
+    <string name="sim_lock_on" msgid="2503536505568814324">"Dumandar il PIN per utilisar il telefonin"</string>
+    <string name="sim_lock_off" msgid="258981978215428916">"Dumandar il PIN per utilisar il telefonin"</string>
+    <string name="sim_pin_change" msgid="6311414184279932368">"Midar il PIN da la carta SIM"</string>
+    <string name="sim_enter_pin" msgid="6608715137008508432">"PIN per la carta SIM"</string>
+    <string name="sim_enable_sim_lock" msgid="4517742794997166918">"Bloccar la SIM"</string>
+    <string name="sim_disable_sim_lock" msgid="7664729528754784824">"Debloccar la SIM"</string>
+    <string name="sim_enter_old" msgid="6074196344494634348">"PIN actual da la SIM"</string>
+    <string name="sim_enter_new" msgid="8742727032729243562">"Nov PIN per la SIM"</string>
+    <string name="sim_reenter_new" msgid="3178510434642201544">"Endatar danovamain il nov PIN"</string>
+    <string name="sim_change_pin" msgid="7328607264898359112">"PIN da la SIM"</string>
+    <string name="sim_bad_pin" msgid="2746201276896134075">"PIN nuncorrect!"</string>
+    <string name="sim_pins_dont_match" msgid="4664611595579163214">"Ils PINs na correspundan betg!"</string>
+    <string name="sim_change_failed" msgid="4823538458798362222">"Impussibel da midar il PIN."\n"Forsa è il PIN endatà nuncorrect."</string>
+    <string name="sim_change_succeeded" msgid="8556135413096489627">"Il code PIN da la carta SIM è vegnì midà."</string>
+    <string name="sim_lock_failed" msgid="6676748290838006404">"Impussibel da midar il status da la bloccaziun da la carta SIM."\n"Forsa in PIN nuncorrect."</string>
+    <string name="sim_enter_ok" msgid="6475946836899218919">"OK"</string>
+    <string name="sim_enter_cancel" msgid="6240422158517208036">"Interrumper"</string>
+    <string name="device_info_settings" msgid="475872867864762157">"Status dal telefonin"</string>
+    <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Actualisaziuns dal sistem"</string>
+    <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string>
+    <string name="firmware_version" msgid="4801135784886859972">"Versiun dad Android"</string>
+    <string name="model_number" msgid="3765737700545384794">"Numer dal model"</string>
+    <string name="baseband_version" msgid="1848990160763524801">"Versiun Baseband"</string>
+    <string name="kernel_version" msgid="9192574954196167602">"Versiun dal kernel"</string>
+    <string name="build_number" msgid="3075795840572241758">"Numer dal build"</string>
+    <string name="device_info_not_available" msgid="8062521887156825182">"Betg disponibel"</string>
+    <string name="device_status_activity_title" msgid="1411201799384697904">"Status"</string>
+    <string name="device_status" msgid="607405385799807324">"Status"</string>
+    <string name="device_status_summary" msgid="2599162787451519618">"\"Numer da telefon, signal, etc.\""</string>
+    <!-- no translation found for storage_settings (4211799979832404953) -->
+    <skip />
+    <!-- no translation found for storage_settings_title (8746016738388094064) -->
+    <skip />
+    <string name="storage_settings_summary" msgid="9176693537325988610">"\"Prender ora la carta SD, mussar la capacitad da memorisar disponibla\""</string>
+    <string name="status_number" msgid="5123197324870153205">"Mes numer da telefon"</string>
+    <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
+    <string name="status_prl_version" msgid="8499039751817386529">"Versiun PRL"</string>
+    <string name="status_meid_number" msgid="1751442889111731088">"MEID"</string>
+    <string name="status_network_type" msgid="3279383550222116235">"Tip da rait mobil"</string>
+    <string name="status_data_state" msgid="5503181397066522950">"Status da la rait mobila"</string>
+    <string name="status_service_state" msgid="2323931627519429503">"Status da servetsch"</string>
+    <string name="status_signal_strength" msgid="3732655254188304547">"Intensitad dal signal"</string>
+    <string name="status_roaming" msgid="2638800467430913403">"Roaming"</string>
+    <string name="status_operator" msgid="2274875196954742087">"Rait"</string>
+    <string name="status_wifi_mac_address" msgid="33109409206264790">"Adressa WLAN-MAC"</string>
+    <string name="status_bt_address" msgid="4195174192087439720">"Adressa Bluetooth"</string>
+    <string name="status_unavailable" msgid="7862009036663793314">"Betg disponibel"</string>
+    <string name="status_up_time" msgid="7294859476816760399">"Temp d\'activitad"</string>
+    <string name="status_awake_time" msgid="2393949909051183652">"Temp d\'activitad"</string>
+    <string name="internal_memory" msgid="1130932766236387454">"Memoria interna dal telefonin"</string>
+    <string name="sd_memory" msgid="151871913888051515">"Carta SD"</string>
+    <string name="memory_available" msgid="418542433817289474">"Memoria disponibla"</string>
+    <string name="memory_size" msgid="6629067715017232195">"Memoria en total"</string>
+    <string name="sd_eject" msgid="6915293408836853020">"Demontar la carta SD"</string>
+    <string name="sd_eject_summary" msgid="3315557796211542962">"Demontar la carta SD per la retrair a moda segira"</string>
+    <string name="sd_insert_summary" msgid="2048640010381803841">"Inserir ina carta SD per la montar"</string>
+    <string name="sd_mount" msgid="5940523765187704135">"Montar la carta SD"</string>
+    <string name="sd_mount_summary" msgid="4936591681679097699">"Montar la carta SD"</string>
+    <string name="sd_format" msgid="5448738337382712203">"Formatar la carta SD"</string>
+    <string name="sd_format_summary" msgid="6616491027883134004">"Formatar (stizzar) la carta SD"</string>
+    <string name="sd_unavailable" msgid="8580107589533213904">"Betg disponibel"</string>
+    <string name="read_only" msgid="6702420168629076340">" (mo per lectura)"</string>
+    <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"Demontar la carta SD"</string>
+    <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"\"Sche Vus demontais la carta SD, vegnan intginas da las applicaziuns che Vus utilisais a sa fermar fin che Vus attatgais puspè la carta SD.\""</string>
+    <string name="dlg_error_unmount_title" msgid="4004106918266783081">"Impussibel da demontar la carta SD"</string>
+    <string name="dlg_error_unmount_text" msgid="9188972789897713180">"Impussibel da demontar la carta SD. Empruvai pli tard."</string>
+    <string name="unmount_inform_text" msgid="3213378327712151498">"La carta SD vegn demontada. Dai in tgit al champ dad avis per vesair il status."</string>
+    <string name="sd_ejecting_title" msgid="8824572198034365468">"Deconnectar…"</string>
+    <string name="sd_ejecting_summary" msgid="2028753069184908491">"Separaziun…"</string>
+    <string name="battery_status_title" msgid="9159414319574976203">"Status da l\'accu"</string>
+    <string name="battery_level_title" msgid="2965679202786873272">"Nivel da l\'accu"</string>
+    <string name="apn_settings" msgid="3743170484827528406">"APN"</string>
+    <string name="apn_edit" msgid="1354715499708424718">"Modifitgar il punct d\'access"</string>
+    <string name="apn_not_set" msgid="7422262558097875757">"&lt;Betg definì&gt;"</string>
+    <string name="apn_name" msgid="4115580098369824123">"Num"</string>
+    <string name="apn_apn" msgid="2479425126733513353">"APN"</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">"Num d\'utilisader"</string>
+    <string name="apn_password" msgid="5412301994998250968">"Pled-clav"</string>
+    <string name="apn_server" msgid="2436185314756372858">"Server"</string>
+    <string name="apn_mmsc" msgid="3670124402105585737">"MMSC"</string>
+    <string name="apn_mms_proxy" msgid="5374082621073999275">"\"Proxy MMS"</string>
+    <string name="apn_mms_port" msgid="4074188088199243040">"Port MMS"</string>
+    <string name="apn_mcc" msgid="4258628382260674636">"MCC"</string>
+    <string name="apn_mnc" msgid="8629374076888809874">"MNC"</string>
+    <string name="apn_auth_type" msgid="6167205395676037015">"Tip d\'autentificaziun"</string>
+    <string name="apn_auth_type_none" msgid="5069592676845549926">"Nagin"</string>
+    <string name="apn_auth_type_pap" msgid="1666934536996033383">"PAP"</string>
+    <string name="apn_auth_type_chap" msgid="3369626283789068360">"CHAP"</string>
+    <string name="apn_auth_type_pap_chap" msgid="9102343063036134541">"PAP u CHAP"</string>
+    <string name="apn_type" msgid="469613123902220544">"Tip dad APN (num dal punct d\'access)"</string>
+    <string name="menu_delete" msgid="6981294422841124659">"Stizzar APN"</string>
+    <string name="menu_new" msgid="3014205883303921729">"Nov APN"</string>
+    <string name="menu_save" msgid="8109345640668285399">"Memorisar"</string>
+    <string name="menu_cancel" msgid="2194502410474697474">"Interrumper"</string>
+    <string name="error_title" msgid="1319225301794168762">"Attenziun"</string>
+    <string name="error_name_empty" msgid="1498238337687930558">"Il champ «Num» na dastga betg esser vid."</string>
+    <string name="error_apn_empty" msgid="1513892291812404310">"Il champ APN na dastga betg esser vid."</string>
+    <string name="error_mcc_not3" msgid="4560171714156251661">"Il champ MCC sto cuntegnair 3 caracters."</string>
+    <string name="error_mnc_not23" msgid="8418177072458379439">"Il champ MNC sto cuntegnair 2 u 3 caracters."</string>
+    <string name="restore_default_apn" msgid="2724583218635739913">"Ils parameters APN predefinids vegnan restaurads"</string>
+    <string name="menu_restore" msgid="8260067415075573273">"Reinizialisar ils parameters da standard"</string>
+    <string name="restore_default_apn_completed" msgid="3990449939234957281">"Terminà la reinizialisaziun dals parameters APN predefinids"</string>
+    <string name="master_clear_title" msgid="5907939616087039756">"Restaurar il stadi original"</string>
+    <string name="master_clear_summary" msgid="4986154238001088492">"Stizza tut las datas dal telefonin"</string>
+    <string name="master_clear_desc" msgid="7823268823499739178">"\"Qua tras vegnan tut las datas da Voss telefonin stizzadas, tranter auter:"\n<li>"Voss conto Google"</li>\n<li>"ils parameters e las datas da las applicaziuns e dal sistem "</li>\n<li>"las applicaziuns telechargiadas"</li>\n"Ils suandants elements na vegnan betg stizzads:"\n<li>"la software dal sistem actuala ed applicaziuns preinstalladas "</li>\n<li>"datotecas memorisadas sin la carta SD (p.ex. fotos e musica)"</li>"\""</string>
+    <string name="master_clear_button_text" msgid="7550632653343157971">"Reinizialisar il telefon"</string>
+    <string name="master_clear_final_desc" msgid="6917971132484622696">"Stizzar tut las datas persunalas e las applicaziuns telechargiadas? Quest pass na po betg vegnir revocà!"</string>
+    <string name="master_clear_final_button_text" msgid="5390908019019242910">"Stizzar tut"</string>
+    <string name="master_clear_gesture_prompt" msgid="1428645764883536750">"Dissegnai Voss schema da debloccaziun"</string>
+    <string name="master_clear_gesture_explanation" msgid="8901714274312707918">"Vus stuais dissegnar Voss schema da debloccaziun per confermar la reinizialisaziun dal telefonin."</string>
+    <string name="master_clear_failed" msgid="8655202125010189406">"Las datas n\'han betg pudì vegnir reinizialisadas perquai ch\'il servetsch da purificaziun dal sistem n\'è betg disponibel."</string>
+    <string name="media_format_title" msgid="4671276096695789895">"Formatar la carta SD."</string>
+    <string name="media_format_summary" msgid="3805714639375830120">"Stizza tut las datas sin la carta SD"</string>
+    <string name="media_format_desc" msgid="1142563222357820834">"Cun questa acziun vegn la carta SD en il telefonin stizzada. Vus perdais uschia TUT las datas sin la carta!"</string>
+    <string name="media_format_button_text" msgid="370856400090190151">"Formatar la carta SD"</string>
+    <string name="media_format_final_desc" msgid="1776666694910717198">"Formatar la carta SD e stizzar l\'entir cuntegn da la carta? I n\'è betg pussaivel da revocar questa acziun!"</string>
+    <string name="media_format_final_button_text" msgid="4881713344315923175">"Stizzar tut"</string>
+    <string name="media_format_gesture_prompt" msgid="3109349468816856670">"Dissegnai per plaschair Voss schema da debloccaziun"</string>
+    <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Vus stuais dissegnar Voss schema da debloccaziun per confermar la formataziun da la carta SD."</string>
+    <string name="call_settings_title" msgid="5188713413939232801">"Parameters da clom"</string>
+    <string name="call_settings_summary" msgid="7291195704801002886">"\"Configurar messadis vocals, renviar cloms, cloms spetgants, identificaziun dal clamader\""</string>
+    <!-- no translation found for tether_settings_title_usb (6688416425801386511) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_wifi (3277144155960302049) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_bluetooth (355855408317564420) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_usb_bluetooth (5355828977109785001) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_all (8356136101061143841) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb (3562431455625637370) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_wifi (4690912027002467246) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_bluetooth (4363059913219151114) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_wifi (3700323208282018772) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_bluetooth (4008195891276675882) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_wifi_bluetooth (2753904149495692201) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_all (1171769255924636665) -->
+    <skip />
+    <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">"Stabilì la connexiun USB; activai l\'opziun correspundenta per tethering."</string>
+    <string name="usb_tethering_active_subtext" msgid="8916210851136467042">"Tethering activ"</string>
+    <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Tethering n\'è betg pussaivel durant l\'utilisaziun da memoria USB"</string>
+    <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB betg connectà"</string>
+    <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Errur da tethering cun USB"</string>
+    <!-- no translation found for bluetooth_tether_checkbox_text (2379175828878753652) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_available_subtext (3317112145693933963) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_connected_subtext (893888246368164894) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_off_subtext (1798863866978968964) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_errored_subtext (1344187103463073993) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_overflow_error (2222060504731415763) -->
+    <skip />
+    <!-- no translation found for bluetooth_untether_blank (2871192409329334813) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_text (2273368767599539525) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_subtext (5970033999897946708) -->
+    <skip />
+    <!-- no translation found for tethering_help_button_text (656117495547173630) -->
+    <skip />
+    <string name="network_settings_title" msgid="7967552516440151852">"Raits mobilas"</string>
+    <string name="network_settings_summary" msgid="5149750850846813553">"\"Definir las opziuns da roaming, raits, APNs\""</string>
+    <string name="location_title" msgid="1029961368397484576">"Mes lieu"</string>
+    <string name="location_network_based" msgid="8815705866861993344">"Utilisar la rait senza fil"</string>
+    <string name="location_networks_disabled" msgid="2708968452901433980">"Mussar la posiziun en applicaziuns (sco chartas) cun utilisar raits senza fil"</string>
+    <string name="location_neighborhood_level" msgid="4656658097932515921">"Posiziun geografica determinada da WLAN e/u raits mobilas"</string>
+    <string name="location_gps" msgid="6296125378829097831">"Utilisar ils satellits GPS"</string>
+    <!-- no translation found for location_street_level (7456259025474443314) -->
+    <skip />
+    <string name="location_gps_disabled" msgid="6632537158777308128">"Localisar sin nivel da vias (dovra dapli accu e tschiel avert)"</string>
+    <string name="assisted_gps" msgid="4649317129586736885">"Utilisar il GPS assistì"</string>
+    <string name="assisted_gps_enabled" msgid="8751899609589792803">"Utilisar in server per sustegnair il GPS (deactivar per reducir l\'utilisaziun da la rait)"</string>
+    <string name="assisted_gps_disabled" msgid="6982698333968010748">"Utilisar"</string>
+    <string name="about_settings" msgid="1743378368185371685">"Davart il telefonin"</string>
+    <string name="about_settings_summary" msgid="3302263393543848667">"\"Mussar infurmaziuns legalas, status dal telefonin e versiun da la software\""</string>
+    <string name="legal_information" msgid="5769301644270604095">"Infurmaziuns legalas"</string>
+    <string name="contributors_title" msgid="5917703088825286504">"Contribuents"</string>
+    <string name="copyright_title" msgid="865906688917260647">"Copyright"</string>
+    <string name="license_title" msgid="1990487604356037871">"Licenza"</string>
+    <string name="terms_title" msgid="7697580845616764642">"Cundiziuns d\'utilisaziun"</string>
+    <string name="system_tutorial_list_item_title" msgid="9082844446660969729">"Mussavia dal sistem"</string>
+    <string name="system_tutorial_list_item_summary" msgid="3861815254521030201">"Co utilisar Voss telefon?"</string>
+    <string name="settings_license_activity_title" msgid="7553683406244228650">"Licenzas open source"</string>
+    <string name="settings_license_activity_unavailable" msgid="4210539215951487627">"Cun chargiar las licenzas è cumparì ina errur."</string>
+    <string name="settings_license_activity_loading" msgid="3337535809093591740">"Chargiar…"</string>
+    <string name="settings_safetylegal_title" msgid="1289483965535937431">"Infurmaziuns da segirezza"</string>
+    <string name="settings_safetylegal_activity_title" msgid="6901214628496951727">"Infurmaziuns da segirezza"</string>
+    <string name="settings_safetylegal_activity_unreachable" msgid="3198912875259612887">"\"Voss telefon n\'è betg connectà cun in servetsch da datas. Per consultar ussa questas infurmaziuns, accedi a %s cun agid d\'in computer cun access a l\'internet.\""</string>
+    <string name="settings_safetylegal_activity_loading" msgid="8059022597639516348">"Chargiar…"</string>
+    <string name="lockpassword_choose_your_password_header" msgid="8624900666929394990">"Tscherner Voss pled-clav"</string>
+    <string name="lockpassword_choose_your_pin_header" msgid="7598849519816138302">"Tscherner Voss PIN"</string>
+    <string name="lockpassword_confirm_your_password_header" msgid="6308478184889846633">"Confermar Voss pled-clav"</string>
+    <string name="lockpassword_confirm_your_pin_header" msgid="49038294648213197">"Confermar il PIN"</string>
+    <string name="lockpassword_confirm_passwords_dont_match" msgid="6850677112663979120">"Ils pleds-clav na correspundan betg."</string>
+    <string name="lockpassword_confirm_pins_dont_match" msgid="4757532830594400147">"Ils codes PIN na correspundan betg."</string>
+    <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"Il pled-clav è vegnì definì."</string>
+    <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"Il PIN è vegnì definì."</string>
+    <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"Il schema è vegnì definì."</string>
+    <string name="lock_settings_title" msgid="975088518210629938">"Debloccaziun dal visur"</string>
+    <string name="lockpattern_change_lock_pattern_label" msgid="5679630792003440352">"Midar il schema da debloccaziun"</string>
+    <string name="lockpattern_change_lock_pin_label" msgid="266707138486731661">"Midar il PIN da debloccaziun"</string>
+    <string name="lockpattern_need_to_unlock" msgid="757935356911054465">"Confermar il schema memorisà"</string>
+    <string name="lockpattern_need_to_unlock_wrong" msgid="5629093548611791080">"Empruvai per plaschair danovamain:"</string>
+    <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"Dissegnai in schema da debloccaziun:"</string>
+    <string name="lockpattern_recording_intro_footer" msgid="1118579101409152113">"Smatgar sin Menu per mussar l\'agid."</string>
+    <string name="lockpattern_recording_inprogress" msgid="4622772178078818425">"Prender davent il det sche Vus avais terminà."</string>
+    <string name="lockpattern_recording_incorrect_too_short" msgid="3103250430366718996">"Colliai almain <xliff:g id="NUMBER">%d</xliff:g> puncts. Empruvai anc ina giada:"</string>
+    <string name="lockpattern_pattern_entered_header" msgid="5012716272001299362">"Il schema è registrà!"</string>
+    <string name="lockpattern_need_to_confirm" msgid="5144676887162575050">"Dissegnai danovamain il schema per confermar:"</string>
+    <string name="lockpattern_pattern_confirmed_header" msgid="2223856038485537716">"Voss nov schema da debloccaziun:"</string>
+    <string name="lockpattern_confirm_button_text" msgid="1128204343957002841">"Confermar"</string>
+    <string name="lockpattern_restart_button_text" msgid="3337574403350953926">"Registrar da nov"</string>
+    <string name="lockpattern_retry_button_text" msgid="1949847413862309134">"Empruvar danovamain"</string>
+    <string name="lockpattern_continue_button_text" msgid="4723771754714471410">"Vinavant"</string>
+    <string name="lockpattern_settings_title" msgid="3207750489460466680">"Schema da debloccaziun"</string>
+    <string name="lockpattern_settings_enable_title" msgid="6920616873671115281">"Schema obligatoric"</string>
+    <string name="lockpattern_settings_enable_summary" msgid="1165707416664252167">"Dissegnar in schema per debloccar il visur"</string>
+    <string name="lockpattern_settings_enable_visible_pattern_title" msgid="104851667540971729">"Schema visibel"</string>
+    <string name="lockpattern_settings_enable_tactile_feedback_title" msgid="972174133075372341">"Reacziun palpabla"</string>
+    <string name="lockpattern_settings_choose_lock_pattern" msgid="1652352830005653447">"Schema da debloccaziun"</string>
+    <string name="lockpattern_settings_change_lock_pattern" msgid="1123908306116495545">"Midar il schema da debloccaziun"</string>
+    <string name="lockpattern_settings_help_how_to_record" msgid="2614673439060830433">"Co dissegnar in schema da debloccaziun:"</string>
+    <string name="lockpattern_too_many_failed_confirmation_attempts_header" msgid="819903817323783498">"Memia bleras emprovas senza success!"</string>
+    <string name="lockpattern_too_many_failed_confirmation_attempts_footer" msgid="6759029360597122873">"Empruvar anc ina giada en <xliff:g id="NUMBER">%d</xliff:g> secundas."</string>
+    <string name="skip_button_label" msgid="8680422740354436943">"Interrumper"</string>
+    <string name="next_button_label" msgid="8890792540116568321">"Vinavant"</string>
+    <string name="lock_title" msgid="4059246467204273930">"Segirar Voss telefonin"</string>
+    <string name="lock_intro_message" msgid="9100785646737118042">"\""<font size="17">"Protegi Voss telefon cunter l\'utilisaziun nunautorisada cun crear in schema persunal per debloccar il visur. "\n<font height="17">\n</font><b>"1"</b>"  Il suandant visur As mussa in exempel d\'in schema. "\n<font height="17">\n</font><b>"2"</b>"  Suenter pudais Vus dissegnar Voss agen schema da debloccaziun. Vus pudais empruvar pliras cumbinaziuns, ma connectai almain quatter puncts in cun l\'auter. "\n<font height="17">\n</font><b>"3"</b>"  Repeti Voss schema per confermar la tscherna. "\n<font height="17">\n</font><b>"Per entschaiver, smatgai sin \"\"Enavant\"\""</b>". "\n<font height="3">\n</font>"Sche Vus na vulais betg activar la protecziun, smatgai sin \"\"Interrumper\"\"."</font>"\""</string>
+    <string name="lock_example_title" msgid="8052305554017485410">"Schema d\'exempel"</string>
+    <string name="lock_example_message" msgid="1838650097090632706">"Colliai almain quatter puncts. "\n" "\n"Smatgai sin «Vinavant» per crear in agen schema."</string>
+    <string name="manageapplications_settings_title" msgid="5712405848153426706">"Administrar las applicaziuns"</string>
+    <string name="manageapplications_settings_summary" msgid="6097117021500651232">"Administrar ed allontanar applicaziuns installadas"</string>
+    <string name="applications_settings" msgid="3736173521008476946">"Applicaziuns"</string>
+    <string name="applications_settings_summary" msgid="2714215108369119717">"\"Administrar las applicaziuns, configurar cumbinaziuns da tastas per aviar svelt\""</string>
+    <string name="applications_settings_header" msgid="6018266337275422250">"Applicaziuns"</string>
+    <string name="install_applications" msgid="4872012136210802181">"Funtaunas nunenconuschentas"</string>
+    <string name="install_unknown_applications" msgid="6612824788917283662">"Permetter l\'installaziun dad applicaziuns che na derivan betg dad Android Market"</string>
+    <string name="install_all_warning" msgid="1923717607319933741">"Applicaziuns da funtaunas nunenconuschentas pon esser privlusas per Vossas datas privatas e per Voss telefonin. Vus confermais che Vus surpigliais la responsabladad per tut ils donns da Voss telefon e mintga sperdita da datas che pudessan resultar da l\'utilisaziun da questas applicaziuns."</string>
+    <string name="application_info_label" msgid="1150486628158409543">"Infos davart l\'applicaziun"</string>
+    <string name="storage_label" msgid="8700867073480107253">"Memoria"</string>
+    <string name="auto_launch_label" msgid="3012617472833815382">"Aviar sco standard"</string>
+    <string name="permissions_label" msgid="2605296874922726203">"Autorisaziuns"</string>
+    <string name="cache_header_label" msgid="1877197634162461830">"Cache"</string>
+    <string name="clear_cache_btn_text" msgid="5756314834291116325">"Stizzar il cache"</string>
+    <string name="cache_size_label" msgid="7505481393108282913">"Cache"</string>
+    <string name="controls_label" msgid="7611113077086853799">"Cumonds"</string>
+    <string name="force_stop" msgid="7435006169872876756">"Sfurzar da terminar"</string>
+    <string name="total_size_label" msgid="1048676419552557254">"Totalmain"</string>
+    <string name="application_size_label" msgid="5055196275624686382">"Applicaziun"</string>
+    <string name="data_size_label" msgid="8679376373625710107">"Datas"</string>
+    <string name="uninstall_text" msgid="3644892466144802466">"Deinstallar"</string>
+    <!-- no translation found for disable_text (6544054052049395202) -->
+    <skip />
+    <!-- no translation found for enable_text (9217362512327828987) -->
+    <skip />
+    <string name="clear_user_data_text" msgid="5597622864770098388">"Stizzar las datas"</string>
+    <string name="app_factory_reset" msgid="6635744722502563022">"Deinstallar las actualisaziuns"</string>
+    <string name="auto_launch_enable_text" msgid="2630656657744196691">"Vus avais definì questa applicaziun sco standard per tschertas acziuns."</string>
+    <string name="auto_launch_disable_text" msgid="7800385822185540166">"Nagin standard"</string>
+    <string name="clear_activities" msgid="7408923511535174430">"Stizzar las acziuns predefinidas"</string>
+    <string name="unknown" msgid="1592123443519355854">"Nunenconuschent"</string>
+    <!-- no translation found for sort_order_alpha (1410278099123670628) -->
+    <skip />
+    <string name="sort_order_size" msgid="7024513286636502362">"Zavrar tenor grondezza"</string>
+    <string name="manage_space_text" msgid="8852711522447794676">"Administrar la capacitad da memorisar"</string>
+    <string name="filter" msgid="2018011724373033887">"Filter"</string>
+    <string name="filter_dlg_title" msgid="6507663329723966854">"Opziuns dal filter"</string>
+    <string name="filter_apps_all" msgid="5142129378749391876">"Tuttas"</string>
+    <string name="filter_apps_third_party" msgid="7786348047690140979">"Telechargià"</string>
+    <string name="filter_apps_running" msgid="7767071454371350486">"Vegn exequì"</string>
+    <string name="filter_apps_onsdcard" msgid="1477351142334784771">"Sin la carta SD"</string>
+    <!-- no translation found for disabled (9206776641295849915) -->
+    <skip />
+    <!-- no translation found for no_applications (5190227407135243904) -->
+    <skip />
+    <string name="recompute_size" msgid="7722567982831691718">"Recalcular la grondezza…"</string>
+    <string name="clear_data_dlg_title" msgid="4470209520936375508">"Stizzar"</string>
+    <string name="clear_data_dlg_text" msgid="8368035073300828451">"\"Tut las datas da questa applicaziun vegnan stizzadas definitivamain, inclus tut las datotecas, ils parameters, ils contos e las bancas da datas euv.\""</string>
+    <string name="dlg_ok" msgid="2402639055725653590">"OK"</string>
+    <string name="dlg_cancel" msgid="1674753358972975911">"Interrumper"</string>
+    <string name="app_not_found_dlg_title" msgid="8458335716378083713">"Betg chattà l\'applicaziun"</string>
+    <string name="app_not_found_dlg_text" msgid="2980271680333341554">"L\'applicaziun n\'è betg vegnida chattada en la glista da las applicaziuns installadas."</string>
+    <string name="clear_data_failed" msgid="581956197586913865">"Impussibel da stizzar las datas da l\'applicaziun."</string>
+    <string name="app_factory_reset_dlg_title" msgid="6116199391150388147">"Deinstallar actualisaziuns"</string>
+    <string name="app_factory_reset_dlg_text" msgid="438395129140568893">"Vulais Vus deinstallar tut las actualisaziuns per questa applicaziun da sistem dad Android?"</string>
+    <string name="clear_failed_dlg_title" msgid="2387060805294783175">"Stizzar las datas"</string>
+    <string name="clear_failed_dlg_text" msgid="7943411157007320290">"Betg reussì da stizzar las datas per l\'applicaziun"</string>
+    <string name="security_settings_desc" msgid="3116027624526915561">"Questa applicaziun ha access a las suandantas funcziuns da Voss telefon:"</string>
+    <string name="computing_size" msgid="1599186977475211186">"Calcular…"</string>
+    <string name="invalid_size_value" msgid="1901940003700269523">"Impussibel da calcular la grondezza dal pachet."</string>
+    <string name="empty_list_msg" msgid="2901049162265094971">"Naginas applicaziuns da terzas partidas èn installadas."</string>
+    <string name="version_text" msgid="9189073826278676425">"versiun <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
+    <string name="move_app" msgid="5042838441401731346">"Spustar"</string>
+    <string name="move_app_to_internal" msgid="3895430471913858185">"Spustar sin il telefon"</string>
+    <string name="move_app_to_sdcard" msgid="1143379049903056407">"Spustar a la carta SD"</string>
+    <string name="moving" msgid="6431016143218876491">"Spustar"</string>
+    <string name="insufficient_storage" msgid="8566913062094452962">"La capacitad da memorisar a disposiziun è nunsuffizienta."</string>
+    <string name="does_not_exist" msgid="837163572898468245">"L\'applicaziun n\'exista betg."</string>
+    <string name="app_forward_locked" msgid="5747805144210389585">"L\'applicaziun è protegida cunter copias."</string>
+    <string name="invalid_location" msgid="4934491353200240499">"Il lieu d\'installaziun inditgà è nunvalid."</string>
+    <string name="system_package" msgid="1030561474413022831">"Impussibel d\'installar actualisaziuns dal sistem sin memorias externas."</string>
+    <string name="force_stop_dlg_title" msgid="4289453224368188476">"Sfurzar da fermar"</string>
+    <!-- no translation found for force_stop_dlg_text (5157374701213502922) -->
+    <skip />
+    <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Spustar  l\'applicaziun"</string>
+    <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Betg reussì da spustar l\'applicaziun. <xliff:g id="REASON">%1$s</xliff:g>"</string>
+    <string name="app_install_location_title" msgid="2068975150026852168">"Posiziun preferida per installaziuns"</string>
+    <string name="app_install_location_summary" msgid="879753854530300436">"Modifitgar la via d\'access preferida per l\'installaziun da novas applicaziuns."</string>
+    <!-- no translation found for storageuse_settings_title (5657014373502630403) -->
+    <skip />
+    <!-- no translation found for storageuse_settings_summary (2556057379120846792) -->
+    <skip />
+    <string name="runningservices_settings_title" msgid="8097287939865165213">"Servetschs activs"</string>
+    <string name="runningservices_settings_summary" msgid="854608995821032748">"Mussar e controllar ils servetschs che vegnan exequids"</string>
+    <string name="service_restarting" msgid="2242747937372354306">"Reaviar en progress"</string>
+    <!-- no translation found for no_running_services (2059536495597645347) -->
+    <skip />
+    <!-- no translation found for service_started_by_app (6575184738671598131) -->
+    <skip />
+    <!-- no translation found for service_client_name (4037193625611815517) -->
+    <skip />
+    <!-- no translation found for service_background_processes (4939976652114824214) -->
+    <skip />
+    <!-- no translation found for service_foreground_processes (2474726487867913314) -->
+    <skip />
+    <!-- no translation found for service_process_name (4098932168654826656) -->
+    <skip />
+    <!-- no translation found for running_processes_item_description_s_s (5790575965282023145) -->
+    <skip />
+    <!-- no translation found for running_processes_item_description_s_p (8019860457123222953) -->
+    <skip />
+    <!-- no translation found for running_processes_item_description_p_s (744424668287252915) -->
+    <skip />
+    <!-- no translation found for running_processes_item_description_p_p (1607384595790852782) -->
+    <skip />
+    <!-- no translation found for runningservicedetails_settings_title (6188692418986988288) -->
+    <skip />
+    <!-- no translation found for no_services (7133900764462288263) -->
+    <skip />
+    <!-- no translation found for runningservicedetails_services_title (391168243725357375) -->
+    <skip />
+    <!-- no translation found for runningservicedetails_processes_title (928115582044655268) -->
+    <skip />
+    <!-- no translation found for service_stop (6369807553277527248) -->
+    <skip />
+    <!-- no translation found for service_manage (1876642087421959194) -->
+    <skip />
+    <!-- no translation found for service_stop_description (3261798282116866961) -->
+    <skip />
+    <!-- no translation found for heavy_weight_stop_description (6855241582643136019) -->
+    <skip />
+    <!-- no translation found for service_manage_description (7050092269951613102) -->
+    <skip />
+    <!-- no translation found for main_running_process_description (929204645380391397) -->
+    <skip />
+    <!-- no translation found for process_service_in_use_description (8993335064403217080) -->
+    <skip />
+    <!-- no translation found for process_provider_in_use_description (5586603325677678940) -->
+    <skip />
+    <string name="language_settings" msgid="502219872342167227">"Lingua e tastatura"</string>
+    <string name="language_keyboard_settings_title" msgid="3455826933385341107">"Parameters da la lingua &amp; da la tastatura"</string>
+    <string name="language_settings_summary" msgid="595647729475399987">"\"Definir la lingua e la regiun, opziuns da l\'endataziun da text e la correctura automatica\""</string>
+    <string name="language_category" msgid="3391756582724541530">"Parameters regiunals"</string>
+    <string name="text_category" msgid="6342540511465136739">"Parameters da text"</string>
+    <string name="phone_language" msgid="1165758957501090679">"Tscherner la lingua"</string>
+    <string name="phone_language_summary" msgid="3871309445655554211"></string>
+    <string name="auto_replace" msgid="6199184757891937822">"Remplazzament auto."</string>
+    <string name="auto_replace_summary" msgid="370288728200084466">"Curreger sbagls da scriver"</string>
+    <string name="auto_caps" msgid="581633131114124121">"Maiusclas auto."</string>
+    <string name="auto_caps_summary" msgid="6358102538315261466">"Cumenzar mintga frasa cun ina maiuscla"</string>
+    <string name="auto_punctuate" msgid="4595367243950425833">"Interpuncziun automatica"</string>
+    <string name="hardkeyboard_category" msgid="5957168411305769899">"Parameters"</string>
+    <string name="auto_punctuate_summary" msgid="4372126865670574837">"Smatgar duas giadas la tasta da vid per inserir «.»."</string>
+    <string name="show_password" msgid="2198798062604049206">"Pleds-clav visibels"</string>
+    <string name="show_password_summary" msgid="3806709974395178121">"Mussar il pled-clav cun endatar"</string>
+    <string name="ime_security_warning" msgid="812267421486877917">"Questa metoda d\'endataziun è capabla da memorisar l\'entir text che Vus endatais inclus datas persunalas sco pleds-clav e numers da cartas da credit. Ella deriva da l\'applicaziun <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Vulais Vus activar questa metoda d\'endataziun?"</string>
+    <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Dicziunari da l\'utilisader"</string>
+    <string name="user_dict_settings_title" msgid="8357027437499042191">"Dicziunari da l\'utilisader"</string>
+    <string name="user_dict_settings_summary" msgid="7965571192902870454"></string>
+    <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Agiuntar"</string>
+    <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Agiuntar al dicziunari"</string>
+    <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Modifitgar il pled"</string>
+    <string name="user_dict_settings_context_menu_edit_title" msgid="2210564879320004837">"Modifitgar"</string>
+    <string name="user_dict_settings_context_menu_delete_title" msgid="9140703913776549054">"Stizzar"</string>
+    <string name="user_dict_settings_empty_text" msgid="6209268025109242806">"Vus n\'avais nagins pleds en Voss dicziunari persunal"</string>
+    <string name="testing" msgid="6584352735303604146">"Test"</string>
+    <string name="testing_phone_info" msgid="8656693364332840056">"Infos davart il telefonin"</string>
+    <string name="testing_battery_info" msgid="3497865525976497848">"Infurmaziuns davart l\'accu"</string>
+    <string name="testing_battery_history" msgid="3043329445810695647">"Protocol da l\'accu"</string>
+    <string name="quick_launch_title" msgid="7904609846945905306">"Aviar svelt"</string>
+    <string name="quick_launch_summary" msgid="3453825712466417452">"Definir cumbinaziuns da tastas per aviar applicaziuns"</string>
+    <string name="quick_launch_assign_application" msgid="4521368464929956350">"Attribuir ina applicaziun"</string>
+    <string name="quick_launch_no_shortcut" msgid="5998005833838278693">"Nagina cumbinaziun da tastas"</string>
+    <string name="quick_launch_shortcut" msgid="5090405067413522300">"Tschertgar + <xliff:g id="SHORTCUT_LETTER">%1$s</xliff:g>"</string>
+    <string name="quick_launch_clear_dialog_title" msgid="5546543501250320220">"Stizzar"</string>
+    <string name="quick_launch_clear_dialog_message" msgid="3921015601470260722">"Vossa cumbinaziun da tastas per <xliff:g id="SHORTCUT_LETTER">%1$s</xliff:g> (<xliff:g id="APPLICATION_NAME">%2$s</xliff:g>) vegn stizzada."</string>
+    <string name="quick_launch_clear_ok_button" msgid="2634568926597586716">"OK"</string>
+    <string name="quick_launch_clear_cancel_button" msgid="1892854652197747064">"Interrumper"</string>
+    <string name="quick_launch_display_mode_applications" msgid="3748789806447639039">"Applicaziuns"</string>
+    <string name="quick_launch_display_mode_shortcuts" msgid="4177934019174169042">"Cumbinaziuns da tastas"</string>
+    <string name="input_methods_settings_title" msgid="6800066636850553887">"Endataziun da text"</string>
+    <!-- no translation found for input_method (5434026103176856164) -->
+    <skip />
+    <string name="input_methods_settings_summary" msgid="7571173442946675205">"Administrar las opziuns d\'endataziun da text"</string>
+    <string name="input_methods_settings_label_format" msgid="6002887604815693322">"Parameters <xliff:g id="IME_NAME">%1$s</xliff:g>"</string>
+    <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Parameters da la tastatura dal visur"</string>
+    <string name="builtin_keyboard_settings_title" msgid="8169889453770863227">"Tastatura da l\'apparat"</string>
+    <string name="builtin_keyboard_settings_summary" msgid="6404687907454621637">"Parameters da la tastatura integrada"</string>
+    <string name="development_settings_title" msgid="6719732334835420989">"Svilup"</string>
+    <string name="development_settings_summary" msgid="2151320488701538355">"Definir las opziuns per il svilup d\'applicaziuns"</string>
+    <string name="enable_adb" msgid="7982306934419797485">"Debugar USB"</string>
+    <string name="enable_adb_summary" msgid="4881186971746056635">"Modus da debugar sch\'in apparat periferic USB è connectà"</string>
+    <string name="keep_screen_on" msgid="1146389631208760344">"Restar activ"</string>
+    <string name="keep_screen_on_summary" msgid="2173114350754293009">"Il visur na dorma mai cun chargiar"</string>
+    <string name="allow_mock_location" msgid="2787962564578664888">"Posiziuns faussas"</string>
+    <string name="allow_mock_location_summary" msgid="317615105156345626">"Permetter posiziuns faussas"</string>
+    <string name="adb_warning_title" msgid="6234463310896563253">"Permetter da debugar USB?"</string>
+    <string name="adb_warning_message" msgid="5352555112049663033">"\"Il debugar USB è mo previs per motivs da svilup. Uschia pudais Vus copiar datas tranter Voss computer ed il telefonin, installar applicaziuns sin il telefonin senza avis e leger datas da protocol.\""</string>
+    <string name="gadget_picker_title" msgid="98374951396755811">"Tscherner in gadget"</string>
+    <string name="widget_picker_title" msgid="9130684134213467557">"Tscherner in widget"</string>
+    <string name="battery_history_days" msgid="7110262897769622564">"<xliff:g id="DAYS">%1$d</xliff:g> d <xliff:g id="HOURS">%2$d</xliff:g> h <xliff:g id="MINUTES">%3$d</xliff:g> m <xliff:g id="SECONDS">%4$d</xliff:g> s"</string>
+    <string name="battery_history_hours" msgid="7525170329826274999">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> m <xliff:g id="SECONDS">%3$d</xliff:g> s"</string>
+    <string name="battery_history_minutes" msgid="1467775596084148610">"<xliff:g id="MINUTES">%1$d</xliff:g> m <xliff:g id="SECONDS">%2$d</xliff:g> s"</string>
+    <string name="battery_history_seconds" msgid="4283492130945761685">"<xliff:g id="SECONDS">%1$d</xliff:g> s"</string>
+    <string name="usage_stats_label" msgid="5890846333487083609">"Statistica da l\'utilisaziun"</string>
+    <string name="testing_usage_stats" msgid="7823048598893937339">"Datas statisticas"</string>
+    <string name="display_order_text" msgid="8592776965827565271">"Zavrar tenor:"</string>
+    <string name="app_name_label" msgid="2000949925256858308">"Applicaziun"</string>
+    <string name="launch_count_label" msgid="4019444833263957024">"Dumber"</string>
+    <string name="usage_time_label" msgid="295954901452833058">"Temp d\'utilisaziun"</string>
+    <string name="accessibility_settings" msgid="3975902491934816215">"Agids d\'access"</string>
+    <string name="accessibility_settings_title" msgid="2130492524656204459">"Parameters da l\'agid d\'access"</string>
+    <string name="accessibility_settings_summary" msgid="8185181964847149507">"Administrar las opziuns dals agids d\'access"</string>
+    <string name="toggle_accessibility_title" msgid="650839277066574497">"Agids d\'access"</string>
+    <string name="accessibility_services_category" msgid="8127851026323672607">"Servetschs d\'agid d\'access"</string>
+    <string name="no_accessibility_services_summary" msgid="694578333333808159">"Nagins agids d\'access installads"</string>
+    <!-- no translation found for accessibility_service_security_warning (4066258132331302670) -->
+    <skip />
+    <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"Deactivar ils agids d\'endataziun?"</string>
+    <string name="accessibility_service_no_apps_title" msgid="898893674114288531">"Chattà nagina applicaziun dad agids d\'access"</string>
+    <string name="accessibility_service_no_apps_message" msgid="2450056749545404807">"Nagina applicaziun d\'agids d\'access è installada."\n\n"Vus pudais telechargiar in screen reader da l\'Android Market per Voss apparat."\n\n"Cliccai sin «OK» per installar il screen reader."</string>
+    <string name="accessibility_power_button_category" msgid="8545885236482339928">"Buttun interruptur"</string>
+    <string name="accessibility_power_button_ends_call" msgid="7698764194501089533">"Utilisar il buttun interruptur per finir il clom"</string>
+    <string name="accessibility_power_button_ends_call_summary" msgid="8878097632186291462">"Smatgar il buttun per metter en/ora il visur durant in telefon terminescha il clom (enstagl da stgirentar il visur)"</string>
+    <string name="power_usage_summary_title" msgid="5180282911164282324">"Consum dad accu"</string>
+    <string name="power_usage_summary" msgid="7237084831082848168">"Consumaders da l\'accu"</string>
+    <string name="battery_since_unplugged" msgid="338073389740738437">"Utilisaziun da l\'accu dapi la deconnexiun"</string>
+    <string name="battery_since_reset" msgid="7464546661121187045">"Accu consumà dapi l\'ultima reinizialisaziun"</string>
+    <!-- no translation found for battery_stats_on_battery (4970762168505236033) -->
+    <skip />
+    <string name="battery_stats_duration" msgid="7464501326709469282">"Deconnectà dapi <xliff:g id="TIME">%1$s</xliff:g>"</string>
+    <!-- no translation found for battery_stats_charging_label (4223311142875178785) -->
+    <skip />
+    <!-- no translation found for battery_stats_screen_on_label (7150221809877509708) -->
+    <skip />
+    <!-- no translation found for battery_stats_gps_on_label (1193657533641951256) -->
+    <skip />
+    <!-- no translation found for battery_stats_wifi_running_label (4100552585961214960) -->
+    <skip />
+    <!-- no translation found for battery_stats_wake_lock_label (1908942681902324095) -->
+    <skip />
+    <!-- no translation found for battery_stats_phone_signal_label (6822042940376636775) -->
+    <skip />
+    <!-- no translation found for battery_stats_last_duration (1535831453827905957) -->
+    <skip />
+    <string name="awake" msgid="387122265874485088">"Temp d\'activitad da l\'apparat"</string>
+    <string name="wifi_on_time" msgid="4630925382578609056">"Temp activ WLAN"</string>
+    <string name="bluetooth_on_time" msgid="4478515071957280711">"Temp en funcziun dal WLAN"</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">"Utilisaziun dal accu - detagls"</string>
+    <string name="details_subtitle" msgid="32593908269911734">"Detagls d\'utilisaziun"</string>
+    <string name="controls_subtitle" msgid="390468421138288702">"Adattar il consum dad energia"</string>
+    <string name="packages_subtitle" msgid="4736416171658062768">"Pachets inclus"</string>
+    <string name="power_screen" msgid="2353149143338929583">"Visur"</string>
+    <string name="power_wifi" msgid="2382791137776486974">"WLAN"</string>
+    <string name="power_bluetooth" msgid="4373329044379008289">"Bluetooth"</string>
+    <string name="power_cell" msgid="6596471490976003056">"Standby telefonin"</string>
+    <string name="power_phone" msgid="5392641106474567277">"Cloms vocals"</string>
+    <string name="power_idle" msgid="9055659695602194990">"Telefon inactiv"</string>
+    <string name="usage_type_cpu" msgid="715162150698338714">"CPU - Durada totala"</string>
+    <string name="usage_type_cpu_foreground" msgid="6500579611933211831">"CPU - Fund davant"</string>
+    <!-- no translation found for usage_type_wake_lock (5125438890233677880) -->
+    <skip />
+    <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">"Datas tramessas"</string>
+    <string name="usage_type_data_recv" msgid="7251090882025234185">"Datas recepidas"</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">"Temp activ"</string>
+    <string name="usage_type_no_coverage" msgid="3797004252954385053">"Temp senza signal"</string>
+    <string name="battery_action_stop" msgid="649958863744041872">"Sfurzar da fermar"</string>
+    <string name="battery_action_app_details" msgid="3275013531871113681">"Infurmaziuns davart l\'applicaziun"</string>
+    <string name="battery_action_app_settings" msgid="350562653472577250">"Parameters dad applicaziuns"</string>
+    <string name="battery_action_display" msgid="5302763261448580102">"Parameters visur"</string>
+    <string name="battery_action_wifi" msgid="5452076674659927993">"Parameters WLAN"</string>
+    <string name="battery_action_bluetooth" msgid="8374789049507723142">"Parameters Bluetooth"</string>
+    <string name="battery_desc_voice" msgid="8980322055722959211">"Accu utilisà per cloms"</string>
+    <string name="battery_desc_standby" msgid="3009080001948091424">"Consum da l\'accu sch\'il telefonin è inactiv"</string>
+    <string name="battery_desc_radio" msgid="5479196477223185367">"Accu consumà dal signal radiofonic"</string>
+    <string name="battery_sugg_radio" msgid="8211336978326295047">"Midai al modus d\'aviun per spargnar accu en lieus senza access a la rait"</string>
+    <string name="battery_desc_display" msgid="5432795282958076557">"La consumaziun d\'accu entras il visur e la glisch"</string>
+    <string name="battery_sugg_display" msgid="3370202402045141760">"Reducir la clerezza e/u il timeout dal visur"</string>
+    <string name="battery_desc_wifi" msgid="1702486494565080431">"Accu utilisà da WLAN"</string>
+    <string name="battery_sugg_wifi" msgid="7542345142282261691">"Deactivar WLAN sch\'ella na vegn betg utilisada u na stat betg a disposiziun"</string>
+    <string name="battery_desc_bluetooth" msgid="7535520658674621902">"Consumaziun da l\'accu entras Bluetooth"</string>
+    <string name="battery_sugg_bluetooth_basic" msgid="817276933922157788">"Deactivai Bluetooth sche Vus n\'utilisais betg la funcziun."</string>
+    <string name="battery_sugg_bluetooth_headset" msgid="8214816222115517479">"Empruvai da connectar cun in auter apparat da Bluetooth"</string>
+    <!-- no translation found for battery_desc_apps (6665712811746233450) -->
+    <skip />
+    <string name="battery_sugg_apps_info" msgid="6065882899391322442">"Serrar u deinstallar l\'applicaziun"</string>
+    <!-- no translation found for battery_sugg_apps_gps (4545056413090932541) -->
+    <skip />
+    <string name="battery_sugg_apps_settings" msgid="8021302847272481168">"L\'applicaziun dispona eventualmain da parameters che permettan da reducir il consum da l\'accu."</string>
+    <string name="menu_stats_unplugged" msgid="8296577130840261624">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> dapi la deconnexiun"</string>
+    <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"Dapi la davosa deconnexiun (<xliff:g id="UNPLUGGED">%1$s</xliff:g>)"</string>
+    <string name="menu_stats_total" msgid="8973377864854807854">"Consum en total"</string>
+    <string name="menu_stats_refresh" msgid="1676215433344981075">"Actualisar"</string>
+    <string name="process_kernel_label" msgid="3916858646836739323">"Sistem operativ Android"</string>
+    <string name="process_mediaserver_label" msgid="6500382062945689285">"Server multimedia"</string>
+    <string name="voice_input_output_settings" msgid="1336135218350444783">"Entrada &amp; sortida vocala"</string>
+    <string name="voice_input_output_settings_title" msgid="2442850635048676991">"Parameters da l\'entrada e da la sortida vocala"</string>
+    <string name="voice_search_settings_title" msgid="2775469246913196536">"Tschertga vocala"</string>
+    <string name="keyboard_settings_title" msgid="5080115226780201234">"Tastatura Android"</string>
+    <string name="voice_input_category" msgid="1589318440824204736">"Endataziun vocala"</string>
+    <string name="voice_output_category" msgid="2624538587784986229">"Sortida vocala"</string>
+    <string name="recognizer_title" msgid="3231385184559054457">"Renconuschientscha vocala"</string>
+    <string name="recognizer_settings_title" msgid="6038598099039717232">"Parameters da la reconuschientscha vocala"</string>
+    <!-- no translation found for recognizer_settings_summary (4472287934134546902) -->
+    <skip />
+    <string name="tts_settings" msgid="8186971894801348327">"Parameters da text-en-lingua"</string>
+    <string name="tts_settings_title" msgid="4182348653053000933">"Parameters da text-en-lingua"</string>
+    <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Adina utilisar mes param."</string>
+    <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"Ils parameters predefinids surscrivan quels da las applicaziuns"</string>
+    <string name="tts_default_settings_section" msgid="5787915620218907443">"Parameters predefinids"</string>
+    <string name="tts_default_synth_title" msgid="29467896463371992">"Modul predefinì"</string>
+    <string name="tts_default_synth_summary" msgid="6482936537135251690">"Definescha il modul da sintesa vocala che duai vegnir utilisà per vocalisar text."</string>
+    <string name="tts_default_rate_title" msgid="6030550998379310088">"Sveltezza da pledar"</string>
+    <string name="tts_default_rate_summary" msgid="4061815292287182801">"Sveltezza cun la quala il text vegn discurrì"</string>
+    <string name="tts_default_pitch_title" msgid="6135942113172488671">"Autezza dal tun"</string>
+    <string name="tts_default_pitch_summary" msgid="1328298665182885277">"Influenzescha il tun dal text discurrì"</string>
+    <string name="tts_default_lang_title" msgid="8018087612299820556">"Lingua"</string>
+    <string name="tts_default_lang_summary" msgid="5219362163902707785">"Definescha la vusch specifica da mintga lingua per il text pledà"</string>
+    <string name="tts_play_example_title" msgid="7094780383253097230">"Tadlar in exempel"</string>
+    <string name="tts_play_example_summary" msgid="8029071615047894486">"Far ina curta demonstraziun da la sintesa vocala"</string>
+    <string name="tts_install_data_title" msgid="4264378440508149986">"Installar las datas vocalas"</string>
+    <string name="tts_install_data_summary" msgid="5742135732511822589">"Installar las datas necessarias per la sintesa vocala"</string>
+    <string name="tts_data_installed_summary" msgid="9162111552859972809">"Las vuschs necessarias per la sintesa vocala èn gia installadas."</string>
+    <string name="tts_demo" msgid="405357591189935876">"Quai è in exempel da la sintesa vocala."</string>
+    <string name="tts_settings_changed_demo" msgid="4926518555912328645">"Voss parameters èn sa midads. Quai è in exempel che illustrescha ils novs parameters."</string>
+    <string name="tts_engine_error" msgid="5513288178403066867">"Il modul tschernì na po betg vegnir exequì."</string>
+    <string name="tts_engine_error_config" msgid="5820525416624637313">"Configurar"</string>
+    <string name="tts_engine_error_reselect" msgid="3071453963296013376">"Tscherner in auter modul"</string>
+    <string name="tts_engine_security_warning" msgid="8786238102020223650">"Quest modul da sintesa vocala è capabel da memorisar l\'entir text discurrì inclus datas persunalas sco pleds-clav e numers da cartas da credit. El deriva da l\'applicaziun <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>. Vulais Vus activar quest modul?"</string>
+    <string name="tts_engines_section" msgid="7515470972378742429">"Moduls"</string>
+    <string name="tts_engine_name_settings" msgid="4974538563074395920">"Parameters <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>"</string>
+    <string name="tts_engine_name_is_enabled_summary" msgid="4909484006804022115">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> è activà."</string>
+    <string name="tts_engine_name_is_disabled_summary" msgid="7644198182255168200">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> è deactivà."</string>
+    <string name="pico_languages_and_voices" msgid="4611320375917773238">"Linguas e vuschs"</string>
+    <string name="pico_installed" msgid="2452546687858267414">"Installà"</string>
+    <string name="pico_not_installed" msgid="6266845418419994311">"Betg installà"</string>
+    <string name="pico_voice_summary_female" msgid="8047327176247727492">"Feminin"</string>
+    <string name="pico_voice_summary_male" msgid="8331266854058577610">"Masculin"</string>
+    <!-- no translation found for tts_notif_engine_install_title (7000346872482649034) -->
+    <skip />
+    <!-- no translation found for tts_notif_engine_install_message (5304661142202662693) -->
+    <skip />
+    <string name="gadget_title" msgid="7455548605888590466">"Controlla d\'energia"</string>
+    <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Actualisar ils parameters WLAN"</string>
+    <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Actualisaziun dals parameters bluetooth"</string>
+    <string name="vpn_settings_activity_title" msgid="7276864950701612579">"Parameters da VPN"</string>
+    <string name="vpn_connect_to" msgid="2541409082892684362">"Connectar cun <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="vpn_username_colon" msgid="7854930370861306247">"Num d\'utilisader:"</string>
+    <string name="vpn_password_colon" msgid="5716278710848606626">"Pled-clav:"</string>
+    <string name="vpn_a_username" msgid="6664733641993968692">"in num d\'utilisader"</string>
+    <string name="vpn_a_password" msgid="1537213632501483753">"in pled-clav"</string>
+    <string name="vpn_save_username" msgid="1408415289165970790">"Memorisar il num d\'utilisader"</string>
+    <string name="vpn_connect_button" msgid="1699007212602470655">"Connectar"</string>
+    <string name="vpn_yes_button" msgid="8034531001149843119">"Gea"</string>
+    <string name="vpn_no_button" msgid="7620339571187119107">"Na"</string>
+    <string name="vpn_back_button" msgid="192036339792734970">"Enavos"</string>
+    <string name="vpn_mistake_button" msgid="1683383660912491270">"Na"</string>
+    <string name="vpn_menu_done" msgid="93528279226907926">"Memorisar"</string>
+    <string name="vpn_menu_cancel" msgid="7234451214611202868">"Interrumper"</string>
+    <string name="vpn_menu_revert" msgid="4407762442281467659">"Reinizialisar"</string>
+    <string name="vpn_menu_connect" msgid="1089399414463784218">"Connectar cun la rait"</string>
+    <string name="vpn_menu_disconnect" msgid="8254492450022562235">"Deconnectar da la rait"</string>
+    <string name="vpn_menu_edit" msgid="4526245173583195618">"Modifitgar la rait"</string>
+    <string name="vpn_menu_delete" msgid="3326527392609513129">"Stizzar ina rait"</string>
+    <string name="vpn_error_miss_entering" msgid="5377667978602483250">"\"Vus stuais endatar \"\"<xliff:g id="CODE">%s</xliff:g>\"\".\""</string>
+    <string name="vpn_error_miss_selecting" msgid="4890780825580511345">"Tschernì  <xliff:g id="OPTION">%s</xliff:g>."</string>
+    <string name="vpn_error_duplicate_name" msgid="2693927537390963745">"Il num VPN «<xliff:g id="NAME">%s</xliff:g>» exista gia. Tscherni in auter num."</string>
+    <string name="vpn_confirm_profile_deletion" msgid="8679536635364177239">"Vulais Vus propi stizzar questa VPN?"</string>
+    <string name="vpn_confirm_add_profile_cancellation" msgid="3377869170901609182">"Na vulais Vus propi betg crear quest profil?"</string>
+    <string name="vpn_confirm_edit_profile_cancellation" msgid="7496760181072204494">"Vulais Vus propi sbittar las modificaziuns da quest profil?"</string>
+    <string name="vpn_confirm_reconnect" msgid="5748535476278674296">"Impussibel da connectar cun la rait. Vulais Vus anc empruvar ina giada?"</string>
+    <string name="vpn_reconnect_from_lost" msgid="2442844155623372118">"Interrut la connexiun. Vulais Vus stabilir danovamain la connexiun?"</string>
+    <string name="vpn_unknown_server_dialog_msg" msgid="3080742299823671319">"Impussibel da resolver il num da server. Vulais Vus controllar il parameter dal num dal server?"</string>
+    <string name="vpn_challenge_error_dialog_msg" msgid="6174901754230038601">"Errur da verificaziun. Vulais Vus ussa controllar Voss parameters da secrets?"</string>
+    <string name="vpn_secret_not_set_dialog_msg" msgid="8013052814131532765">"Ina u pliras infurmaziuns secretas paran da mancar en questa configuraziun VPN. Vulais Vus controllar Vossas infurmaziuns secretas?"</string>
+    <string name="vpn_auth_error_dialog_msg" msgid="5476820106624807614">"Il num d\'utilisader u il pled-clav endatà n\'è betg correct. Empruvar anc ina giada?"</string>
+    <string name="vpn_remote_hung_up_error_dialog_msg" msgid="1566946015052633150">"Il server ha in problem. Probablamain èn il num d\'utilisader u il pled-clav endatà nuncorrect. Vulais Vus anc empruvar ina giada?"</string>
+    <string name="vpn_remote_ppp_hung_up_error_dialog_msg" msgid="5135958511128503344">"Il server na reagescha betg. Eventualmain sa chattais Vus davos ina firewall che impedescha la connexiun cun il server. Vulais Vus empruvar anc ina giada?"</string>
+    <string name="vpn_ppp_negotiation_failed_dialog_msg" msgid="4611293656718340994">"La negoziaziun cun il server n\'è betg reussida. Il server n\'è forsa betg cumpatibel cun Vossa opziun da criptaziun. Vulais Vus controllar il parameter da criptaziun?"</string>
+    <string name="vpn_type_title" msgid="6392933604218676224">"Agiuntar in VPN"</string>
+    <string name="vpn_add_new_vpn" msgid="5438260689052714550">"Agiuntar VPN"</string>
+    <string name="vpn_edit_title_add" msgid="2121313217989682890">"Agiuntar il VPN «<xliff:g id="NAME">%s</xliff:g>»"</string>
+    <string name="vpn_edit_title_edit" msgid="2457278794066617935">"Detagls davart <xliff:g id="NAME">%s</xliff:g>"</string>
+    <string name="vpns" msgid="3148141862835492816">"VPN"</string>
+    <string name="vpn_connecting" msgid="8039521381692090116">"Connectar…"</string>
+    <string name="vpn_disconnecting" msgid="7748050200708257066">"Deconnectar…"</string>
+    <string name="vpn_connected" msgid="7641723116362845781">"Connectà"</string>
+    <string name="vpn_connect_hint" msgid="7442898962925875181">"Connectar cun la rait"</string>
+    <string name="vpn_name" msgid="1550918148476193076">"Num VPN"</string>
+    <string name="vpn_a_name" msgid="8445736942405283509">"in num VPN"</string>
+    <string name="vpn_profile_added" msgid="9061017910337129840">"«<xliff:g id="NAME">%s</xliff:g>» è vegnì agiuntà"</string>
+    <string name="vpn_profile_replaced" msgid="587435576816273815">"Modificaziuns applitgadas a «<xliff:g id="NAME">%s</xliff:g>»"</string>
+    <string name="vpn_user_certificate_title" msgid="6812545893924071742">"Definir il certificat utilisader"</string>
+    <string name="vpn_user_certificate" msgid="949322691686938888">"Certificat utilisader"</string>
+    <string name="vpn_a_user_certificate" msgid="8943983437956898649">"in certificat utilisader"</string>
+    <string name="vpn_ca_certificate_title" msgid="7846466160795589985">"Definir il certificat CA"</string>
+    <string name="vpn_ca_certificate" msgid="465085144064264742">"Certificat dal post da certificaziun (CA)"</string>
+    <string name="vpn_a_ca_certificate" msgid="3374242520974884295">"in certificat CA"</string>
+    <string name="vpn_l2tp_secret_string_title" msgid="5039677186748940987">"Definir la clav L2TP"</string>
+    <string name="vpn_l2tp_secret" msgid="529359749677142076">"Clav L2TP"</string>
+    <string name="vpn_a_l2tp_secret" msgid="6612042930810981845">"ina clav L2TP"</string>
+    <string name="vpn_pptp_encryption_title" msgid="2236795167467896499">"criptaziun"</string>
+    <string name="vpn_pptp_encryption" msgid="2602329949737259686">"Criptadi PPTP"</string>
+    <string name="vpn_ipsec_presharedkey_title" msgid="2184060087690539175">"Definir la clav IPSec preinstallada"</string>
+    <string name="vpn_ipsec_presharedkey" msgid="5434316521616673741">"Clav preinstallada IPSec"</string>
+    <string name="vpn_a_ipsec_presharedkey" msgid="1255301923217898418">"ina clav IPSec preinstallada"</string>
+    <string name="vpn_vpn_server_title" msgid="8897005887420358913">"Definir il server VPN"</string>
+    <string name="vpn_vpn_server" msgid="1141754908824209260">"Server VPN"</string>
+    <string name="vpn_a_vpn_server" msgid="5960906152125045853">"in server VPN"</string>
+    <string name="vpn_vpn_server_dialog_title" msgid="7850850940160521918">"Num da server VPN"</string>
+    <string name="vpn_dns_search_list_title" msgid="1022776976104584251">"Domenas da tschertga DNS"</string>
+    <string name="vpn_dns_search_list" msgid="4230034234026605360">"Domenas da tschertga DNS"</string>
+    <string name="vpn_field_is_set" msgid="7137320847812992243">"<xliff:g id="VALUE">%s</xliff:g> è definì."</string>
+    <string name="vpn_field_not_set" msgid="2972519243515893804">"Betg definì <xliff:g id="VALUE">%s</xliff:g>"</string>
+    <string name="vpn_field_not_set_optional" msgid="8840557698252556791">"\"Valur \"\"<xliff:g id="VALUE">%s</xliff:g>\"\" betg definida (facultativ)\""</string>
+    <string name="vpn_enable_field" msgid="3700967675854517191">"\"Activar «<xliff:g id="OPTION">%s</xliff:g>»"</string>
+    <string name="vpn_disable_field" msgid="6905658811179634005">"\"Deactivar \"\"<xliff:g id="OPTION">%s</xliff:g>\"\"\""</string>
+    <string name="vpn_is_enabled" msgid="1266304230417098877">"<xliff:g id="OPTION">%s</xliff:g> è activà."</string>
+    <string name="vpn_is_disabled" msgid="2013622485867806167">"L\'opziun «<xliff:g id="OPTION">%s</xliff:g>» è deactivada."</string>
+    <string name="vpn_settings_title" msgid="7327468307909556719">"Parameters da VPN"</string>
+    <string name="vpn_settings_summary" msgid="8849924181594963972">"Configurar ed administrar las raits privatas virtualas (VPN)"</string>
+    <string name="vpn_secret_unchanged" msgid="8700613973594154529">"(betg midà)"</string>
+    <string name="vpn_secret_not_set" msgid="1037792636371641845">"(betg definì)"</string>
+    <string name="credentials_category" msgid="8536992056377271234">"Memorisaziun da las infurmaziuns d\'annunzia"</string>
+    <string name="credentials_access" msgid="4843187230913860492">"Identitads segiradas"</string>
+    <string name="credentials_access_summary" msgid="319662078718574168">"Las applicaziuns pon acceder a certificats segirads ed infurmaziuns d\'annunzia"</string>
+    <string name="credentials_unlock" msgid="1463040326264133844">"Endatar il pled-clav"</string>
+    <string name="credentials_unlock_hint" msgid="594679530407918031">"Endatai il pled-clav per la memoria da las infurmaziuns d\'annunzia."</string>
+    <string name="credentials_install_certificates" msgid="177337517568022236">"Installar da la carta SD"</string>
+    <string name="credentials_install_certificates_summary" msgid="7737001268684193093">"Installar ils certificats criptads da la carta SD"</string>
+    <string name="credentials_set_password" msgid="9104473585811899989">"Definir il pled-clav"</string>
+    <string name="credentials_set_password_summary" msgid="8287876917562085701">"Definir/midar il pled-clav da la memoria da las infurmaziuns d\'annunzia"</string>
+    <string name="credentials_reset" msgid="9170150870552453457">"Stizzar la memoria"</string>
+    <string name="credentials_reset_summary" msgid="1530388094693731636">"Stizzar il cuntegn da la memoria da las infurmaziuns d\'annunzia e reinizialisar il pled-clav"</string>
+    <string name="credentials_reset_hint" msgid="819990295796804516">"Vulais Vus propi stizzar tut las infurmaziuns d\'annunzia e reinizialisar il pled-clav per la memorisaziun da las infurmaziuns d\'annunzia?"</string>
+    <string name="credentials_old_password" msgid="7553393815538684028">"Pled-clav actual:"</string>
+    <string name="credentials_new_password" msgid="267487774686796938">"Nov pled-clav:"</string>
+    <string name="credentials_confirm_password" msgid="4732250000633424345">"Confermar il nov pled-clav:"</string>
+    <string name="credentials_first_time_hint" msgid="1567821077545346039">"Defini in pled-clav per la memorisaziun dad identitads dad almain 8 caracters."</string>
+    <string name="credentials_wrong_password" msgid="7525192410790152041">"Endatai il pled-clav correct."</string>
+    <string name="credentials_reset_warning" msgid="6392481296673345268">"Endatai il pled clav correct. Vus avais anc ina emprova avant che la memoria da las infurmaziuns d\'annunzia vegn stizzada."</string>
+    <string name="credentials_reset_warning_plural" msgid="454828369803055270">"Endatai il pled-clav correct. Vus avais anc <xliff:g id="NUMBER">%1$d</xliff:g> emprovas per endatar il dretg pled-clav. Suenter vegn la memoria da las infurmaziuns d\'annunzia stizzada."</string>
+    <string name="credentials_passwords_mismatch" msgid="5288565139590031733">"Ils pleds-clav na correspundan betg."</string>
+    <string name="credentials_passwords_empty" msgid="8647631321684363549">"Vus stuais endatar in pled-clav e confermar."</string>
+    <string name="credentials_password_empty" msgid="8292138152983330473">"Endatai il pled-clav."</string>
+    <string name="credentials_password_too_short" msgid="7502749986405522663">"Il pled-clav sto cuntegnair almain 8 caracters."</string>
+    <string name="credentials_erased" msgid="7700309135582200849">"La memoria per las infurmaziuns d\'annunzia è vegnì stizzà."</string>
+    <string name="credentials_enabled" msgid="7588607413349978930">"La memoria da las infurmaziuns d\'annunzia è activà"</string>
+    <string name="credentials_disabled" msgid="7453188089059045380">"La memoria per las infurmaziuns d\'annunzia è deactivada."</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"Sistem da datotecas criptadas"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Criptar las datas privatas da l\'utilisader"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Activar la memorisaziun da datas privatas da l\'utilisader en sistems da datotecas criptadas sin quest apparat"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"Per activar ils sistems da datotecas criptadas ston las datas dal telefon vegnir reinizialisadas."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"Per deactivar sistems da datotecas criptadas ston las datas da l\'apparat vegnir reinizialisadas."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Activar"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Deactivar"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Interrumper"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"La midada dal modus da sistems da datotecas criptadas è vegnì interrut."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Avertiment da sistems da datotecas criptadas"</string>
+    <string name="emergency_tone_title" msgid="1055954530111587114">"Tun d\'urgenza"</string>
+    <string name="emergency_tone_summary" msgid="722259232924572153">"Definir il cumportament en cas d\'in clom d\'urgenza"</string>
+    <string name="privacy_settings" msgid="9206631214140954954">"Protecziun da datas"</string>
+    <string name="privacy_settings_title" msgid="1987089301293213705">"Parameters da la protecziun da datas"</string>
+    <!-- no translation found for backup_section_title (8856083167469467588) -->
+    <skip />
+    <string name="personal_data_section_title" msgid="7815209034443782061">"Datas persunalas"</string>
+    <!-- no translation found for backup_data_title (1239105919852668016) -->
+    <skip />
+    <!-- no translation found for backup_data_summary (5662190190240860035) -->
+    <skip />
+    <string name="auto_restore_title" msgid="5397528966329126506">"Restauraziun automatica"</string>
+    <!-- no translation found for auto_restore_summary (6867766474057290177) -->
+    <skip />
+    <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Copia da segirezza"</string>
+    <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Vulais Vus propi interrumper la copia da segirezza dals parameters e da las datas da l\'applicaziun e stizzar tut las copias sin ils servers da Google?"</string>
+    <!-- no translation found for device_admin_settings_title (1335557832906433309) -->
+    <skip />
+    <string name="active_device_admin_msg" msgid="6930903262612422111">"Administratur dad apparats"</string>
+    <string name="remove_device_admin" msgid="3596845261596451437">"Deactivar"</string>
+    <string name="select_device_admin_msg" msgid="2645509057946368094">"Administraturs dals apparats"</string>
+    <string name="no_device_admins" msgid="702695100241728775">"Nagin administratur dad apparats disponibel"</string>
+    <string name="add_device_admin_msg" msgid="6246742476064507965">"Activar l\'administratur dad apparats periferics?"</string>
+    <string name="add_device_admin" msgid="7133327675884827091">"Activar"</string>
+    <string name="device_admin_add_title" msgid="7705551449705676363">"Administratur dad apparats"</string>
+    <string name="device_admin_warning" msgid="1149471041373876923">"L\'activaziun da quest administratur pussibilitescha che l\'applicaziun <xliff:g id="APP_NAME">%1$s</xliff:g> possia exequir suandantas operaziuns:"</string>
+    <string name="device_admin_status" msgid="7169948053970923035">"Quest administratur è activà e permetta a l\'applicaziun <xliff:g id="APP_NAME">%1$s</xliff:g> d\'exequir las suandantas operaziuns:"</string>
+    <string name="untitled_apn" msgid="1230060359198685513">"Senza num"</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-ru/strings.xml b/res/values-ru/strings.xml
index e7251e8..9d584f1 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -130,14 +130,23 @@
     <string name="intent_sender_startactivity_text" msgid="5080516029580421895">"Начать <xliff:g id="ACTIVITY">activity</xliff:g>"</string>
     <string name="intent_sender_resource_label" msgid="6963659726895482829">"<xliff:g id="RESOURCE">Resource</xliff:g>:"</string>
     <string name="intent_sender_account_label" msgid="465210404475603404">"Аккаунт:"</string>
+    <!-- no translation found for proxy_settings_title (6262282922722097473) -->
+    <skip />
+    <!-- no translation found for proxy_settings_summary (7898928000758321486) -->
+    <skip />
     <string name="proxy_clear_text" msgid="5555400754952012657">"Очистить"</string>
     <string name="proxy_port_label" msgid="2623639656638472491">"Порт"</string>
+    <!-- no translation found for proxy_exclusionlist_label (204409815790850313) -->
+    <skip />
     <string name="proxy_defaultView_text" msgid="6387985519141433291">"Восстановить настройки по умолчанию"</string>
-    <string name="proxy_action_text" msgid="477348175123635416">"Сохранить"</string>
+    <!-- no translation found for proxy_action_text (2957063145357903951) -->
+    <skip />
     <string name="proxy_hostname_label" msgid="7531298584350977540">"Имя узла"</string>
     <string name="proxy_error" msgid="8926675299638611451">"Внимание!"</string>
     <string name="proxy_error_dismiss" msgid="4993171795485460060">"ОК"</string>
     <string name="proxy_error_invalid_host" msgid="9120776460063182119">"Введено недействительное имя узла."</string>
+    <!-- no translation found for proxy_error_invalid_exclusion_list (4753810662233875893) -->
+    <skip />
     <string name="proxy_error_empty_port" msgid="3525734169948795417">"Необходимо заполнить поле порта."</string>
     <string name="proxy_error_empty_host_set_port" msgid="2451694104858226781">"Если поле хоста не заполнено, поле порта также следует оставить пустым."</string>
     <string name="proxy_error_invalid_port" msgid="1816315605424943626">"Введен недействительный порт."</string>
@@ -189,8 +198,7 @@
     <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"Поиск мультимедиа на SD-карте..."</string>
     <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"SD-карта установлена только для чтения"</string>
     <string name="next_label" msgid="4693520878012668114">"Далее"</string>
-    <string name="language_picker_title" msgid="4034157617842965844">"Региональные настройки"</string>
-    <string name="select_your_language" msgid="1146235168951906084">"Выберите язык"</string>
+    <string name="language_picker_title" msgid="5349877711342869319">"Язык"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Выбрать действие"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Сведения об устройстве"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Информация о батарее"</string>
@@ -257,15 +265,41 @@
     <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Изменить пароль разблокировки"</string>
     <string name="lockpassword_password_too_short" msgid="7328975683669256660">"Пароль должен содержать не менее %d символов"</string>
     <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"ПИН-код должен содержать не менее %d символов"</string>
-    <string name="lockpassword_press_continue" msgid="6506047902828925216">"После завершения нажмите \"Продолжить\""</string>
+    <string name="lockpassword_press_continue" msgid="122706614386757182">"После завершения нажмите \"Продолжить\""</string>
     <string name="lockpassword_continue_label" msgid="4602203784934526940">"Продолжить"</string>
     <string name="lockpassword_password_too_long" msgid="7354418473281442589">"ПИН-код не может быть длиннее %d симв."</string>
     <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"ПИН-код не может быть длиннее %d симв."</string>
     <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"ПИН-код должен состоять только из цифр от 0 до 9"</string>
+    <string name="lockpassword_pin_recently_used" msgid="2729073062730842496">"Администратор устройства запрещает использование последнего PIN-кода"</string>
     <string name="lockpassword_illegal_character" msgid="6204396794254688549">"Пароль содержит недопустимые символы"</string>
     <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"Пароль должен содержать хотя бы одну букву."</string>
     <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"Пароль должен содержать хотя бы одну цифру."</string>
     <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"Пароль должен содержать хотя бы один символ."</string>
+  <plurals name="lockpassword_password_requires_letters">
+    <item quantity="one" msgid="1462968118065694590">"Пароль должен содержать хотя бы 1 букву"</item>
+    <item quantity="other" msgid="7278096339907683541">"Пароль должен содержать буквы (не менее %d)"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_lowercase">
+    <item quantity="one" msgid="2048653993044269649">"Пароль должен содержать хотя бы 1 строчную букву"</item>
+    <item quantity="other" msgid="588499075580432178">"Пароль должен содержать строчные символы (не менее %d)"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_uppercase">
+    <item quantity="one" msgid="7677454174080582601">"Пароль должен содержать хотя бы 1 заглавную букву"</item>
+    <item quantity="other" msgid="2183090598541826806">"Пароль должен содержать заглавные буквы (не менее %d)"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_numeric">
+    <item quantity="one" msgid="8585088032818933985">"Пароль должен содержать хотя бы 1 цифру"</item>
+    <item quantity="other" msgid="995673409754935278">"Пароль должен содержать цифры (не менее %d)"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_symbols">
+    <item quantity="one" msgid="3930886641317826293">"Пароль должен содержать хотя бы 1 специальный символ."</item>
+    <item quantity="other" msgid="3047460862484105274">"Пароль должен содержать специальные символы (не менее %d)"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_nonletter">
+    <item quantity="one" msgid="1716355580615489062">"Пароль должен содержать хотя бы 1 небуквенный символ."</item>
+    <item quantity="other" msgid="5574191164708145973">"Пароль должен содержать небуквенные символы (не менее %d)"</item>
+  </plurals>
+    <string name="lockpassword_password_recently_used" msgid="2739642871806935825">"Администратор устройства запрещает использование последнего пароля"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"ОК"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Отмена"</string>
     <string name="device_admin_title" msgid="3562216873644263804">"Администрирование устройства"</string>
@@ -303,9 +337,15 @@
     <string name="bluetooth_profile_a2dp" msgid="3259633293424539529">"Мультимедиа"</string>
     <string name="bluetooth_profile_headset" msgid="1874975688666658946">"Телефон"</string>
     <string name="bluetooth_profile_opp" msgid="3799470046565284440">"Передать"</string>
+    <string name="bluetooth_profile_hid" msgid="3000858580917633478">"Устройство ввода"</string>
+    <!-- no translation found for bluetooth_profile_pan (4225813400648547154) -->
+    <skip />
     <string name="bluetooth_summary_connected_to_a2dp" msgid="510833839847758664">"Подключено к мультимедийному аудиоустройству"</string>
     <string name="bluetooth_summary_connected_to_headset" msgid="4876496372728623918">"Подключено к аудиоустройству телефона"</string>
     <string name="bluetooth_summary_connected_to_a2dp_headset" msgid="3045032710457800891">"Подключено к телефону и мультимедийному аудиоустройству"</string>
+    <string name="bluetooth_summary_connected_to_hid" msgid="8147499644396475561">"Подключено к устройству ввода"</string>
+    <!-- no translation found for bluetooth_summary_connected_to_pan (3157622705092537266) -->
+    <skip />
     <string name="bluetooth_device_advanced_title" msgid="528816860793581131">"параметры <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="bluetooth_device_advanced_online_mode_title" msgid="3689050071425683114">"Подключить"</string>
     <string name="bluetooth_device_advanced_online_mode_summary" msgid="1204424107263248336">"Подключиться к устройству Bluetooth"</string>
@@ -314,9 +354,13 @@
     <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Подключено к аудиоустройству телефона"</string>
     <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Установлено подключение к серверу передачи файлов"</string>
     <string name="bluetooth_opp_profile_summary_not_connected" msgid="1267091356089086285">"Нет подключения к серверу передачи файлов"</string>
+    <string name="bluetooth_hid_profile_summary_connected" msgid="3381760054215168689">"Подключено к устройству ввода"</string>
+    <!-- no translation found for bluetooth_pan_profile_summary_connected (7456487225516323485) -->
+    <skip />
     <string name="bluetooth_a2dp_profile_summary_use_for" msgid="4630849022250168427">"Использовать для мультимедийного аудиоустройства"</string>
     <string name="bluetooth_headset_profile_summary_use_for" msgid="8705753622443862627">"Использовать для аудиоустройства телефона"</string>
     <string name="bluetooth_opp_profile_summary_use_for" msgid="1255674547144769756">"Используется для передачи файлов"</string>
+    <string name="bluetooth_hid_profile_summary_use_for" msgid="232727040453645139">"Использовать для ввода"</string>
     <string name="bluetooth_dock_settings" msgid="3218335822716052885">"Настройки док-станции"</string>
     <string name="bluetooth_dock_settings_title" msgid="5543069893044375188">"Использовать док-станцию для звука"</string>
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Для громкой связи"</string>
@@ -496,8 +540,10 @@
     <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>
+    <!-- no translation found for storage_settings (4211799979832404953) -->
+    <skip />
+    <!-- no translation found for storage_settings_title (8746016738388094064) -->
+    <skip />
     <string name="storage_settings_summary" msgid="9176693537325988610">"Отключение SD-карты, сведения о доступной памяти"</string>
     <string name="status_number" msgid="5123197324870153205">"Мой номер телефона"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
@@ -588,12 +634,27 @@
     <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>
+    <!-- no translation found for tether_settings_title_usb (6688416425801386511) -->
+    <skip />
     <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Точка доступа Wi-Fi"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"Режим модема"</string>
+    <!-- no translation found for tether_settings_title_bluetooth (355855408317564420) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_usb_bluetooth (5355828977109785001) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_all (8356136101061143841) -->
+    <skip />
     <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>
+    <!-- no translation found for tether_settings_summary_bluetooth (4363059913219151114) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_wifi (3700323208282018772) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_bluetooth (4008195891276675882) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_wifi_bluetooth (2753904149495692201) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_all (1171769255924636665) -->
+    <skip />
     <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,6 +662,24 @@
     <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>
+    <!-- no translation found for bluetooth_tether_checkbox_text (2379175828878753652) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_available_subtext (3317112145693933963) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_connected_subtext (893888246368164894) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_off_subtext (1798863866978968964) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_errored_subtext (1344187103463073993) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_overflow_error (2222060504731415763) -->
+    <skip />
+    <!-- no translation found for bluetooth_untether_blank (2871192409329334813) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_text (2273368767599539525) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_subtext (5970033999897946708) -->
+    <skip />
     <string name="tethering_help_button_text" msgid="656117495547173630">"Справка"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"Мобильная сеть"</string>
     <string name="network_settings_summary" msgid="5149750850846813553">"Настроить параметры роуминга, сетей, точек доступа (APN)"</string>
@@ -824,6 +903,7 @@
     <string name="quick_launch_display_mode_applications" msgid="3748789806447639039">"Приложения"</string>
     <string name="quick_launch_display_mode_shortcuts" msgid="4177934019174169042">"Ярлыки"</string>
     <string name="input_methods_settings_title" msgid="6800066636850553887">"Ввод текста"</string>
+    <string name="input_method" msgid="5434026103176856164">"Способ ввода"</string>
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Задать параметры ввода текста"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"Настройки <xliff:g id="IME_NAME">%1$s</xliff:g>"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Настройки экранной клавиатуры"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 1f8158c..90e40c0 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -130,14 +130,23 @@
     <string name="intent_sender_startactivity_text" msgid="5080516029580421895">"Starta <xliff:g id="ACTIVITY">activity</xliff:g>"</string>
     <string name="intent_sender_resource_label" msgid="6963659726895482829">"<xliff:g id="RESOURCE">Resource</xliff:g>:"</string>
     <string name="intent_sender_account_label" msgid="465210404475603404">"Konto:"</string>
+    <!-- no translation found for proxy_settings_title (6262282922722097473) -->
+    <skip />
+    <!-- no translation found for proxy_settings_summary (7898928000758321486) -->
+    <skip />
     <string name="proxy_clear_text" msgid="5555400754952012657">"Rensa"</string>
     <string name="proxy_port_label" msgid="2623639656638472491">"Port"</string>
+    <!-- no translation found for proxy_exclusionlist_label (204409815790850313) -->
+    <skip />
     <string name="proxy_defaultView_text" msgid="6387985519141433291">"Återställ standardinställningar"</string>
-    <string name="proxy_action_text" msgid="477348175123635416">"Spara"</string>
+    <!-- no translation found for proxy_action_text (2957063145357903951) -->
+    <skip />
     <string name="proxy_hostname_label" msgid="7531298584350977540">"Värdnamn"</string>
     <string name="proxy_error" msgid="8926675299638611451">"Obs!"</string>
     <string name="proxy_error_dismiss" msgid="4993171795485460060">"OK"</string>
     <string name="proxy_error_invalid_host" msgid="9120776460063182119">"Värdnamnet som du har angett är inte giltigt."</string>
+    <!-- no translation found for proxy_error_invalid_exclusion_list (4753810662233875893) -->
+    <skip />
     <string name="proxy_error_empty_port" msgid="3525734169948795417">"Du måste fylla i portfältet."</string>
     <string name="proxy_error_empty_host_set_port" msgid="2451694104858226781">"Portfältet måste vara tomt om värdfältet är tomt."</string>
     <string name="proxy_error_invalid_port" msgid="1816315605424943626">"Porten som du har angett är inte giltig."</string>
@@ -189,8 +198,7 @@
     <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"Skannar SD-kort för media…"</string>
     <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"SD-kortet har monterats som skrivskyddat"</string>
     <string name="next_label" msgid="4693520878012668114">"Nästa"</string>
-    <string name="language_picker_title" msgid="4034157617842965844">"Språkkod"</string>
-    <string name="select_your_language" msgid="1146235168951906084">"Välj språk"</string>
+    <string name="language_picker_title" msgid="5349877711342869319">"Språk"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Välj aktivitet"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Enhetsinfo"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Batteriinformation"</string>
@@ -257,15 +265,41 @@
     <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Ändra lösenord för upplåsning"</string>
     <string name="lockpassword_password_too_short" msgid="7328975683669256660">"Lösenordet måste innehålla minst %d tecken"</string>
     <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"PIN-koden måste innehålla minst %d tecken"</string>
-    <string name="lockpassword_press_continue" msgid="6506047902828925216">"Tryck på Fortsätt när du är färdig"</string>
+    <string name="lockpassword_press_continue" msgid="122706614386757182">"Tryck på Fortsätt när du är färdig"</string>
     <string name="lockpassword_continue_label" msgid="4602203784934526940">"Fortsätt"</string>
     <string name="lockpassword_password_too_long" msgid="7354418473281442589">"PIN-koden får inte innehålla fler än %d siffror"</string>
     <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"PIN-koden får inte innehålla fler än %d siffror"</string>
     <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"PIN-koden får bara innehålla siffrorna 0 till 9"</string>
+    <string name="lockpassword_pin_recently_used" msgid="2729073062730842496">"Enhetsadministratören tillåter inte att en PIN-kod som använts nyligen används igen"</string>
     <string name="lockpassword_illegal_character" msgid="6204396794254688549">"Lösenordet innehåller ett ogiltigt tecken"</string>
     <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"Lösenord måste innehålla minst en bokstav"</string>
     <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"Lösenord måste innehålla minst en siffra"</string>
     <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"Lösenord måste innehålla minst en symbol"</string>
+  <plurals name="lockpassword_password_requires_letters">
+    <item quantity="one" msgid="1462968118065694590">"Lösenord måste innehålla minst en bokstav"</item>
+    <item quantity="other" msgid="7278096339907683541">"Lösenord måste innehålla minst %d bokstäver"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_lowercase">
+    <item quantity="one" msgid="2048653993044269649">"Lösenordet måste innehålla minst en liten bokstav"</item>
+    <item quantity="other" msgid="588499075580432178">"Lösenord måste innehålla minst %d små bokstäver"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_uppercase">
+    <item quantity="one" msgid="7677454174080582601">"Lösenord måste innehålla minst en stor bokstav"</item>
+    <item quantity="other" msgid="2183090598541826806">"Lösenord måste innehålla minst %d stora bokstäver"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_numeric">
+    <item quantity="one" msgid="8585088032818933985">"Lösenord måste innehålla minst en siffra"</item>
+    <item quantity="other" msgid="995673409754935278">"Lösenord måste innehålla minst %d siffror"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_symbols">
+    <item quantity="one" msgid="3930886641317826293">"Lösenord måste innehålla minst en specialsymbol"</item>
+    <item quantity="other" msgid="3047460862484105274">"Lösenordet måste innehålla minst %d specialsymboler"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_nonletter">
+    <item quantity="one" msgid="1716355580615489062">"Lösenordet måste innehålla minst ett tecken som inte är en bokstav"</item>
+    <item quantity="other" msgid="5574191164708145973">"Lösenordet måste innehålla minst %d tecken som inte är bokstäver"</item>
+  </plurals>
+    <string name="lockpassword_password_recently_used" msgid="2739642871806935825">"Enhetsadministratören tillåter inte att ett lösenord som använts nyligen används igen"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Avbryt"</string>
     <string name="device_admin_title" msgid="3562216873644263804">"Enhetsadministration"</string>
@@ -303,9 +337,15 @@
     <string name="bluetooth_profile_a2dp" msgid="3259633293424539529">"Media"</string>
     <string name="bluetooth_profile_headset" msgid="1874975688666658946">"Telefon"</string>
     <string name="bluetooth_profile_opp" msgid="3799470046565284440">"Överför"</string>
+    <string name="bluetooth_profile_hid" msgid="3000858580917633478">"Indataenhet"</string>
+    <!-- no translation found for bluetooth_profile_pan (4225813400648547154) -->
+    <skip />
     <string name="bluetooth_summary_connected_to_a2dp" msgid="510833839847758664">"Ansluten till medialjud"</string>
     <string name="bluetooth_summary_connected_to_headset" msgid="4876496372728623918">"Ansluten till telefonens ljud"</string>
     <string name="bluetooth_summary_connected_to_a2dp_headset" msgid="3045032710457800891">"Ansluten till telefon- och medialjud"</string>
+    <string name="bluetooth_summary_connected_to_hid" msgid="8147499644396475561">"Ansluten till indataenhet"</string>
+    <!-- no translation found for bluetooth_summary_connected_to_pan (3157622705092537266) -->
+    <skip />
     <string name="bluetooth_device_advanced_title" msgid="528816860793581131">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> alternativ"</string>
     <string name="bluetooth_device_advanced_online_mode_title" msgid="3689050071425683114">"Anslut"</string>
     <string name="bluetooth_device_advanced_online_mode_summary" msgid="1204424107263248336">"Anslut till Bluetooth-enhet"</string>
@@ -314,9 +354,13 @@
     <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Ansluten till telefonens ljud"</string>
     <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Ansluten till filöverföringsserver"</string>
     <string name="bluetooth_opp_profile_summary_not_connected" msgid="1267091356089086285">"Inte ansluten till filöverföringsserver"</string>
+    <string name="bluetooth_hid_profile_summary_connected" msgid="3381760054215168689">"Ansluten till indataenhet"</string>
+    <!-- no translation found for bluetooth_pan_profile_summary_connected (7456487225516323485) -->
+    <skip />
     <string name="bluetooth_a2dp_profile_summary_use_for" msgid="4630849022250168427">"Använd för medialjud"</string>
     <string name="bluetooth_headset_profile_summary_use_for" msgid="8705753622443862627">"Använd för telefonens ljud"</string>
     <string name="bluetooth_opp_profile_summary_use_for" msgid="1255674547144769756">"Använd för filöverföring"</string>
+    <string name="bluetooth_hid_profile_summary_use_for" msgid="232727040453645139">"Använd för inmatning"</string>
     <string name="bluetooth_dock_settings" msgid="3218335822716052885">"Dockningsinställningar"</string>
     <string name="bluetooth_dock_settings_title" msgid="5543069893044375188">"Använd docka för ljud"</string>
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Som högtalartelefon"</string>
@@ -496,8 +540,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"Status"</string>
     <string name="device_status" msgid="607405385799807324">"Status"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Telefonnummer, signal osv."</string>
-    <string name="storage_settings" msgid="6681164315506788024">"SD-kort och telefonlagr."</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"Inställningar för lagring på SD-kort och i telefonen"</string>
+    <!-- no translation found for storage_settings (4211799979832404953) -->
+    <skip />
+    <!-- no translation found for storage_settings_title (8746016738388094064) -->
+    <skip />
     <string name="storage_settings_summary" msgid="9176693537325988610">"Montera bort SD-kort, visa tillgängligt lagringsutrymme"</string>
     <string name="status_number" msgid="5123197324870153205">"Mitt telefonnummer"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
@@ -588,12 +634,27 @@
     <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>
+    <!-- no translation found for tether_settings_title_usb (6688416425801386511) -->
+    <skip />
     <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Mobil surfpunkt"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"Internetdelning och mobil surfpunkt"</string>
+    <!-- no translation found for tether_settings_title_bluetooth (355855408317564420) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_usb_bluetooth (5355828977109785001) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_all (8356136101061143841) -->
+    <skip />
     <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>
+    <!-- no translation found for tether_settings_summary_bluetooth (4363059913219151114) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_wifi (3700323208282018772) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_bluetooth (4008195891276675882) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_wifi_bluetooth (2753904149495692201) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_all (1171769255924636665) -->
+    <skip />
     <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,6 +662,24 @@
     <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>
+    <!-- no translation found for bluetooth_tether_checkbox_text (2379175828878753652) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_available_subtext (3317112145693933963) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_connected_subtext (893888246368164894) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_off_subtext (1798863866978968964) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_errored_subtext (1344187103463073993) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_overflow_error (2222060504731415763) -->
+    <skip />
+    <!-- no translation found for bluetooth_untether_blank (2871192409329334813) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_text (2273368767599539525) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_subtext (5970033999897946708) -->
+    <skip />
     <string name="tethering_help_button_text" msgid="656117495547173630">"Hjälp"</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>
@@ -824,6 +903,7 @@
     <string name="quick_launch_display_mode_applications" msgid="3748789806447639039">"Program"</string>
     <string name="quick_launch_display_mode_shortcuts" msgid="4177934019174169042">"Genvägar"</string>
     <string name="input_methods_settings_title" msgid="6800066636850553887">"Textinmatning"</string>
+    <string name="input_method" msgid="5434026103176856164">"Indatametod"</string>
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Hantera textinmatningsalternativ"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"<xliff:g id="IME_NAME">%1$s</xliff:g>-inställningar"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Inställningar för tangentbordet på skärmen"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 22214b3..742c54d 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -130,14 +130,23 @@
     <string name="intent_sender_startactivity_text" msgid="5080516029580421895">"<xliff:g id="ACTIVITY">activity</xliff:g> işlemini başlat"</string>
     <string name="intent_sender_resource_label" msgid="6963659726895482829">"<xliff:g id="RESOURCE">Resource</xliff:g>:"</string>
     <string name="intent_sender_account_label" msgid="465210404475603404">"Hesap:"</string>
+    <!-- no translation found for proxy_settings_title (6262282922722097473) -->
+    <skip />
+    <!-- no translation found for proxy_settings_summary (7898928000758321486) -->
+    <skip />
     <string name="proxy_clear_text" msgid="5555400754952012657">"Temizle"</string>
     <string name="proxy_port_label" msgid="2623639656638472491">"Bağlantı Noktası"</string>
+    <!-- no translation found for proxy_exclusionlist_label (204409815790850313) -->
+    <skip />
     <string name="proxy_defaultView_text" msgid="6387985519141433291">"Varsayılanları geri yükle"</string>
-    <string name="proxy_action_text" msgid="477348175123635416">"Kaydet"</string>
+    <!-- no translation found for proxy_action_text (2957063145357903951) -->
+    <skip />
     <string name="proxy_hostname_label" msgid="7531298584350977540">"Ana makine adı"</string>
     <string name="proxy_error" msgid="8926675299638611451">"Dikkat"</string>
     <string name="proxy_error_dismiss" msgid="4993171795485460060">"Tamam"</string>
     <string name="proxy_error_invalid_host" msgid="9120776460063182119">"Yazdığınız ana makine adı geçersiz."</string>
+    <!-- no translation found for proxy_error_invalid_exclusion_list (4753810662233875893) -->
+    <skip />
     <string name="proxy_error_empty_port" msgid="3525734169948795417">"Bağlantı noktası alanını tamamlamalısınız."</string>
     <string name="proxy_error_empty_host_set_port" msgid="2451694104858226781">"Ana makine alanı boşsa, bağlantı noktası alanı boş olmalıdır."</string>
     <string name="proxy_error_invalid_port" msgid="1816315605424943626">"Girdiğiniz bağlantı noktası geçersiz."</string>
@@ -189,8 +198,7 @@
     <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"SD kartta medya aranıyor…"</string>
     <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"SD kart salt okunur olarak bağlandı"</string>
     <string name="next_label" msgid="4693520878012668114">"İleri"</string>
-    <string name="language_picker_title" msgid="4034157617842965844">"Yerel ayar"</string>
-    <string name="select_your_language" msgid="1146235168951906084">"Dilinizi seçin"</string>
+    <string name="language_picker_title" msgid="5349877711342869319">"Dil"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Etkinlik seç"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Cihaz bilgileri"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Pil bilgileri"</string>
@@ -257,15 +265,41 @@
     <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Kilit açma şifresini değiştir"</string>
     <string name="lockpassword_password_too_short" msgid="7328975683669256660">"Şifre en az %d karakter olmalıdır"</string>
     <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"PIN, en az %d karakter olmalıdır"</string>
-    <string name="lockpassword_press_continue" msgid="6506047902828925216">"İşlem tamamlandığında Devam düğmesine basın"</string>
+    <string name="lockpassword_press_continue" msgid="122706614386757182">"İşlem tamamlandığında Devam düğmesine basın"</string>
     <string name="lockpassword_continue_label" msgid="4602203784934526940">"Devam Et"</string>
     <string name="lockpassword_password_too_long" msgid="7354418473281442589">"PIN, en fazla %d rakamdan oluşabilir"</string>
     <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"PIN, en fazla %d rakamdan oluşabilir"</string>
     <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"PIN yalnızca 0-9 arasındaki rakamları içermelidir"</string>
+    <string name="lockpassword_pin_recently_used" msgid="2729073062730842496">"Cihaz yöneticisi yakında kullanılmış PIN\'e izin vermiyor"</string>
     <string name="lockpassword_illegal_character" msgid="6204396794254688549">"Şifre geçersiz bir karakter içeriyor"</string>
     <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"Şifre en az bir harf içermelidir"</string>
     <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"Şifre, en az bir rakam içermelidir"</string>
     <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"Şifre en az bir sembol içermelidir"</string>
+  <plurals name="lockpassword_password_requires_letters">
+    <item quantity="one" msgid="1462968118065694590">"Şifre en az 1 harf içermelidir"</item>
+    <item quantity="other" msgid="7278096339907683541">"Şifre en az %d harf içermelidir"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_lowercase">
+    <item quantity="one" msgid="2048653993044269649">"Şifre en az 1 küçük harf içermelidir"</item>
+    <item quantity="other" msgid="588499075580432178">"Şifre en az %d küçük harf içermelidir"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_uppercase">
+    <item quantity="one" msgid="7677454174080582601">"Şifre en az 1 büyük harf içermelidir"</item>
+    <item quantity="other" msgid="2183090598541826806">"Şifre en az %d büyük harf içermelidir"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_numeric">
+    <item quantity="one" msgid="8585088032818933985">"Şifre, en az 1 rakam içermelidir"</item>
+    <item quantity="other" msgid="995673409754935278">"Şifre en az %d rakam içermelidir"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_symbols">
+    <item quantity="one" msgid="3930886641317826293">"Şifre en az 1 özel sembol içermelidir"</item>
+    <item quantity="other" msgid="3047460862484105274">"Şifre en az %d özel sembol içermelidir"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_nonletter">
+    <item quantity="one" msgid="1716355580615489062">"Şifre harf olmayan en az 1 karakter içermelidir"</item>
+    <item quantity="other" msgid="5574191164708145973">"Şifre harf olmayan en az %d karakter içermelidir"</item>
+  </plurals>
+    <string name="lockpassword_password_recently_used" msgid="2739642871806935825">"Cihaz yöneticisi yakında kullanılmış şifreye izin vermiyor"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"Tamam"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"İptal"</string>
     <string name="device_admin_title" msgid="3562216873644263804">"Cihaz yönetimi"</string>
@@ -303,9 +337,15 @@
     <string name="bluetooth_profile_a2dp" msgid="3259633293424539529">"Medya"</string>
     <string name="bluetooth_profile_headset" msgid="1874975688666658946">"Telefon"</string>
     <string name="bluetooth_profile_opp" msgid="3799470046565284440">"Aktar"</string>
+    <string name="bluetooth_profile_hid" msgid="3000858580917633478">"Giriş Cihazı"</string>
+    <!-- no translation found for bluetooth_profile_pan (4225813400648547154) -->
+    <skip />
     <string name="bluetooth_summary_connected_to_a2dp" msgid="510833839847758664">"Medya sesine bağlanıldı"</string>
     <string name="bluetooth_summary_connected_to_headset" msgid="4876496372728623918">"Telefon sesine bağlandı"</string>
     <string name="bluetooth_summary_connected_to_a2dp_headset" msgid="3045032710457800891">"Telefon ve medya sesine bağlandı"</string>
+    <string name="bluetooth_summary_connected_to_hid" msgid="8147499644396475561">"Giriş cihazına bağlı"</string>
+    <!-- no translation found for bluetooth_summary_connected_to_pan (3157622705092537266) -->
+    <skip />
     <string name="bluetooth_device_advanced_title" msgid="528816860793581131">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> seçenek"</string>
     <string name="bluetooth_device_advanced_online_mode_title" msgid="3689050071425683114">"Bağlan"</string>
     <string name="bluetooth_device_advanced_online_mode_summary" msgid="1204424107263248336">"Bluetooth cihazına bağlan"</string>
@@ -314,9 +354,13 @@
     <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"Telefon sesine bağlandı"</string>
     <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"Dosya aktarım sunucusuna bağlandı"</string>
     <string name="bluetooth_opp_profile_summary_not_connected" msgid="1267091356089086285">"Dosya aktarım sunucusuna bağlanmadı"</string>
+    <string name="bluetooth_hid_profile_summary_connected" msgid="3381760054215168689">"Giriş cihazına bağlı"</string>
+    <!-- no translation found for bluetooth_pan_profile_summary_connected (7456487225516323485) -->
+    <skip />
     <string name="bluetooth_a2dp_profile_summary_use_for" msgid="4630849022250168427">"Medya sesi için kullan"</string>
     <string name="bluetooth_headset_profile_summary_use_for" msgid="8705753622443862627">"Telefon sesi için kullan"</string>
     <string name="bluetooth_opp_profile_summary_use_for" msgid="1255674547144769756">"Dosya aktarımı için kullan"</string>
+    <string name="bluetooth_hid_profile_summary_use_for" msgid="232727040453645139">"Giriş için kullan"</string>
     <string name="bluetooth_dock_settings" msgid="3218335822716052885">"Yuva Ayarları"</string>
     <string name="bluetooth_dock_settings_title" msgid="5543069893044375188">"Ses öğesi için yuvayı kullan"</string>
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Telefon hoparlörü olarak"</string>
@@ -496,8 +540,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"Durum"</string>
     <string name="device_status" msgid="607405385799807324">"Durum"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Telefon numarası, sinyal vb."</string>
-    <string name="storage_settings" msgid="6681164315506788024">"SD kart ve telefon depolama alanı"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"SD kart ve telefon depolama alanı ayarları"</string>
+    <!-- no translation found for storage_settings (4211799979832404953) -->
+    <skip />
+    <!-- no translation found for storage_settings_title (8746016738388094064) -->
+    <skip />
     <string name="storage_settings_summary" msgid="9176693537325988610">"SD kartın bağlantısını kes, kull. Depolama alanını görüntüle"</string>
     <string name="status_number" msgid="5123197324870153205">"Telefon numaram"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MİN"</string>
@@ -588,12 +634,27 @@
     <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>
+    <!-- no translation found for tether_settings_title_usb (6688416425801386511) -->
+    <skip />
     <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>
+    <!-- no translation found for tether_settings_title_bluetooth (355855408317564420) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_usb_bluetooth (5355828977109785001) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_all (8356136101061143841) -->
+    <skip />
     <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>
+    <!-- no translation found for tether_settings_summary_bluetooth (4363059913219151114) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_wifi (3700323208282018772) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_bluetooth (4008195891276675882) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_wifi_bluetooth (2753904149495692201) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_all (1171769255924636665) -->
+    <skip />
     <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,6 +662,24 @@
     <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>
+    <!-- no translation found for bluetooth_tether_checkbox_text (2379175828878753652) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_available_subtext (3317112145693933963) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_connected_subtext (893888246368164894) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_off_subtext (1798863866978968964) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_errored_subtext (1344187103463073993) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_overflow_error (2222060504731415763) -->
+    <skip />
+    <!-- no translation found for bluetooth_untether_blank (2871192409329334813) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_text (2273368767599539525) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_subtext (5970033999897946708) -->
+    <skip />
     <string name="tethering_help_button_text" msgid="656117495547173630">"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>
@@ -824,6 +903,7 @@
     <string name="quick_launch_display_mode_applications" msgid="3748789806447639039">"Uygulamalar"</string>
     <string name="quick_launch_display_mode_shortcuts" msgid="4177934019174169042">"Kısayollar"</string>
     <string name="input_methods_settings_title" msgid="6800066636850553887">"Metin girişi"</string>
+    <string name="input_method" msgid="5434026103176856164">"Giriş yöntemi"</string>
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Metin giriş seçeneklerini yönet"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"<xliff:g id="IME_NAME">%1$s</xliff:g> ayarları"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Ekran klavyesi ayarları"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 9df867b..2137ab4 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -130,14 +130,23 @@
     <string name="intent_sender_startactivity_text" msgid="5080516029580421895">"启动<xliff:g id="ACTIVITY">activity</xliff:g>"</string>
     <string name="intent_sender_resource_label" msgid="6963659726895482829">"<xliff:g id="RESOURCE">Resource</xliff:g>:"</string>
     <string name="intent_sender_account_label" msgid="465210404475603404">"帐户:"</string>
+    <!-- no translation found for proxy_settings_title (6262282922722097473) -->
+    <skip />
+    <!-- no translation found for proxy_settings_summary (7898928000758321486) -->
+    <skip />
     <string name="proxy_clear_text" msgid="5555400754952012657">"清除"</string>
     <string name="proxy_port_label" msgid="2623639656638472491">"端口"</string>
+    <!-- no translation found for proxy_exclusionlist_label (204409815790850313) -->
+    <skip />
     <string name="proxy_defaultView_text" msgid="6387985519141433291">"恢复默认设置"</string>
-    <string name="proxy_action_text" msgid="477348175123635416">"保存"</string>
+    <!-- no translation found for proxy_action_text (2957063145357903951) -->
+    <skip />
     <string name="proxy_hostname_label" msgid="7531298584350977540">"主机名"</string>
     <string name="proxy_error" msgid="8926675299638611451">"注意"</string>
     <string name="proxy_error_dismiss" msgid="4993171795485460060">"确定"</string>
     <string name="proxy_error_invalid_host" msgid="9120776460063182119">"您输入的主机名无效。"</string>
+    <!-- no translation found for proxy_error_invalid_exclusion_list (4753810662233875893) -->
+    <skip />
     <string name="proxy_error_empty_port" msgid="3525734169948795417">"您必须填写端口字段。"</string>
     <string name="proxy_error_empty_host_set_port" msgid="2451694104858226781">"如果主机字段为空，则端口字段必须为空。"</string>
     <string name="proxy_error_invalid_port" msgid="1816315605424943626">"您输入的端口无效。"</string>
@@ -189,8 +198,7 @@
     <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"正从 SD 卡扫描媒体..."</string>
     <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"安装的 SD 卡为只读状态"</string>
     <string name="next_label" msgid="4693520878012668114">"下一步"</string>
-    <string name="language_picker_title" msgid="4034157617842965844">"语言区域"</string>
-    <string name="select_your_language" msgid="1146235168951906084">"选择您使用的语言"</string>
+    <string name="language_picker_title" msgid="5349877711342869319">"语言"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"选择活动"</string>
     <string name="device_info_label" msgid="6551553813651711205">"设备信息"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"电池信息"</string>
@@ -257,15 +265,41 @@
     <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"更改解锁密码"</string>
     <string name="lockpassword_password_too_short" msgid="7328975683669256660">"密码必须至少包含 %d 个字符"</string>
     <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"PIN 必须至少包含 %d 个字符"</string>
-    <string name="lockpassword_press_continue" msgid="6506047902828925216">"完成后按“继续”"</string>
+    <string name="lockpassword_press_continue" msgid="122706614386757182">"完成后触摸“继续”"</string>
     <string name="lockpassword_continue_label" msgid="4602203784934526940">"继续"</string>
     <string name="lockpassword_password_too_long" msgid="7354418473281442589">"PIN 不得超过 %d 位数"</string>
     <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"PIN 不得超过 %d 位数"</string>
     <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"PIN 只能由 0-9 的数字组成"</string>
+    <string name="lockpassword_pin_recently_used" msgid="2729073062730842496">"设备管理员不允许使用最近的 PIN"</string>
     <string name="lockpassword_illegal_character" msgid="6204396794254688549">"密码包含非法字符"</string>
     <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"密码中至少应包含一个字母"</string>
     <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"密码中至少应包含一个数字"</string>
     <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"密码中至少应包含一个符号"</string>
+  <plurals name="lockpassword_password_requires_letters">
+    <item quantity="one" msgid="1462968118065694590">"密码中至少应包含 1 个字母"</item>
+    <item quantity="other" msgid="7278096339907683541">"密码中至少应包含 %d 个字母"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_lowercase">
+    <item quantity="one" msgid="2048653993044269649">"密码中至少应包含 1 个小写字母"</item>
+    <item quantity="other" msgid="588499075580432178">"密码中至少应包含 %d 个小写字母"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_uppercase">
+    <item quantity="one" msgid="7677454174080582601">"密码中至少应包含 1 个大写字母"</item>
+    <item quantity="other" msgid="2183090598541826806">"密码中至少应包含 %d 个大写字母"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_numeric">
+    <item quantity="one" msgid="8585088032818933985">"密码中至少应包含 1 个数字"</item>
+    <item quantity="other" msgid="995673409754935278">"密码中至少应包含 %d 个数字"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_symbols">
+    <item quantity="one" msgid="3930886641317826293">"密码中至少应包含 1 个特殊符号"</item>
+    <item quantity="other" msgid="3047460862484105274">"密码中至少应包含 %d 个特殊符号"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_nonletter">
+    <item quantity="one" msgid="1716355580615489062">"密码中至少应包含 1 个非字母字符"</item>
+    <item quantity="other" msgid="5574191164708145973">"密码中至少应包含 %d 个非字母字符"</item>
+  </plurals>
+    <string name="lockpassword_password_recently_used" msgid="2739642871806935825">"设备管理员不允许使用最近的密码"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"确定"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"取消"</string>
     <string name="device_admin_title" msgid="3562216873644263804">"设备管理"</string>
@@ -303,9 +337,15 @@
     <string name="bluetooth_profile_a2dp" msgid="3259633293424539529">"媒体"</string>
     <string name="bluetooth_profile_headset" msgid="1874975688666658946">"电话"</string>
     <string name="bluetooth_profile_opp" msgid="3799470046565284440">"传输"</string>
+    <string name="bluetooth_profile_hid" msgid="3000858580917633478">"输入设备"</string>
+    <!-- no translation found for bluetooth_profile_pan (4225813400648547154) -->
+    <skip />
     <string name="bluetooth_summary_connected_to_a2dp" msgid="510833839847758664">"已连接到媒体音频"</string>
     <string name="bluetooth_summary_connected_to_headset" msgid="4876496372728623918">"已连接到手机音频"</string>
     <string name="bluetooth_summary_connected_to_a2dp_headset" msgid="3045032710457800891">"已连接到手机和媒体音频"</string>
+    <string name="bluetooth_summary_connected_to_hid" msgid="8147499644396475561">"已连接到输入设备"</string>
+    <!-- no translation found for bluetooth_summary_connected_to_pan (3157622705092537266) -->
+    <skip />
     <string name="bluetooth_device_advanced_title" msgid="528816860793581131">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>选项"</string>
     <string name="bluetooth_device_advanced_online_mode_title" msgid="3689050071425683114">"连接"</string>
     <string name="bluetooth_device_advanced_online_mode_summary" msgid="1204424107263248336">"连接到蓝牙设备"</string>
@@ -314,9 +354,13 @@
     <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"已连接到手机音频"</string>
     <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"已连接到文件传输服务器"</string>
     <string name="bluetooth_opp_profile_summary_not_connected" msgid="1267091356089086285">"未连接到文件传输服务器"</string>
+    <string name="bluetooth_hid_profile_summary_connected" msgid="3381760054215168689">"已连接到输入设备"</string>
+    <!-- no translation found for bluetooth_pan_profile_summary_connected (7456487225516323485) -->
+    <skip />
     <string name="bluetooth_a2dp_profile_summary_use_for" msgid="4630849022250168427">"用于媒体音频"</string>
     <string name="bluetooth_headset_profile_summary_use_for" msgid="8705753622443862627">"用于手机音频"</string>
     <string name="bluetooth_opp_profile_summary_use_for" msgid="1255674547144769756">"用于文件传输"</string>
+    <string name="bluetooth_hid_profile_summary_use_for" msgid="232727040453645139">"用于输入"</string>
     <string name="bluetooth_dock_settings" msgid="3218335822716052885">"底座设置"</string>
     <string name="bluetooth_dock_settings_title" msgid="5543069893044375188">"底座用于音频"</string>
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"将底座用作免提电话"</string>
@@ -496,8 +540,10 @@
     <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">"SD 卡和手机内存"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"SD 卡和手机内存设置"</string>
+    <!-- no translation found for storage_settings (4211799979832404953) -->
+    <skip />
+    <!-- no translation found for storage_settings_title (8746016738388094064) -->
+    <skip />
     <string name="storage_settings_summary" msgid="9176693537325988610">"卸载 SD 卡，查看可用存储设备"</string>
     <string name="status_number" msgid="5123197324870153205">"本机号码"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
@@ -588,12 +634,27 @@
     <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>
+    <!-- no translation found for tether_settings_title_usb (6688416425801386511) -->
+    <skip />
     <string name="tether_settings_title_wifi" msgid="3277144155960302049">"便携式热点"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"绑定与便携式热点"</string>
+    <!-- no translation found for tether_settings_title_bluetooth (355855408317564420) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_usb_bluetooth (5355828977109785001) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_all (8356136101061143841) -->
+    <skip />
     <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>
+    <!-- no translation found for tether_settings_summary_bluetooth (4363059913219151114) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_wifi (3700323208282018772) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_bluetooth (4008195891276675882) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_wifi_bluetooth (2753904149495692201) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_all (1171769255924636665) -->
+    <skip />
     <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,6 +662,24 @@
     <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>
+    <!-- no translation found for bluetooth_tether_checkbox_text (2379175828878753652) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_available_subtext (3317112145693933963) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_connected_subtext (893888246368164894) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_off_subtext (1798863866978968964) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_errored_subtext (1344187103463073993) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_overflow_error (2222060504731415763) -->
+    <skip />
+    <!-- no translation found for bluetooth_untether_blank (2871192409329334813) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_text (2273368767599539525) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_subtext (5970033999897946708) -->
+    <skip />
     <string name="tethering_help_button_text" msgid="656117495547173630">"帮助"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"移动网络"</string>
     <string name="network_settings_summary" msgid="5149750850846813553">"设置漫游、网络、APN 选项"</string>
@@ -824,6 +903,7 @@
     <string name="quick_launch_display_mode_applications" msgid="3748789806447639039">"应用程序"</string>
     <string name="quick_launch_display_mode_shortcuts" msgid="4177934019174169042">"快捷方式"</string>
     <string name="input_methods_settings_title" msgid="6800066636850553887">"文字输入"</string>
+    <string name="input_method" msgid="5434026103176856164">"输入法"</string>
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"管理文字输入选项"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"<xliff:g id="IME_NAME">%1$s</xliff:g> 设置"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"屏幕键盘设置"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index f4eac6d..02cfc98 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -130,14 +130,23 @@
     <string name="intent_sender_startactivity_text" msgid="5080516029580421895">"開始 <xliff:g id="ACTIVITY">activity</xliff:g>"</string>
     <string name="intent_sender_resource_label" msgid="6963659726895482829">"<xliff:g id="RESOURCE">Resource</xliff:g>："</string>
     <string name="intent_sender_account_label" msgid="465210404475603404">"帳戶："</string>
+    <!-- no translation found for proxy_settings_title (6262282922722097473) -->
+    <skip />
+    <!-- no translation found for proxy_settings_summary (7898928000758321486) -->
+    <skip />
     <string name="proxy_clear_text" msgid="5555400754952012657">"清除"</string>
     <string name="proxy_port_label" msgid="2623639656638472491">"連接埠"</string>
+    <!-- no translation found for proxy_exclusionlist_label (204409815790850313) -->
+    <skip />
     <string name="proxy_defaultView_text" msgid="6387985519141433291">"還原預設值"</string>
-    <string name="proxy_action_text" msgid="477348175123635416">"儲存"</string>
+    <!-- no translation found for proxy_action_text (2957063145357903951) -->
+    <skip />
     <string name="proxy_hostname_label" msgid="7531298584350977540">"主機名稱"</string>
     <string name="proxy_error" msgid="8926675299638611451">"注意"</string>
     <string name="proxy_error_dismiss" msgid="4993171795485460060">"確定"</string>
     <string name="proxy_error_invalid_host" msgid="9120776460063182119">"您輸入的主機名稱無效。"</string>
+    <!-- no translation found for proxy_error_invalid_exclusion_list (4753810662233875893) -->
+    <skip />
     <string name="proxy_error_empty_port" msgid="3525734169948795417">"您必須輸入連接埠欄位。"</string>
     <string name="proxy_error_empty_host_set_port" msgid="2451694104858226781">"若主機欄位空白，連接埠欄位也須空白。"</string>
     <string name="proxy_error_invalid_port" msgid="1816315605424943626">"您輸入的連接埠無效。"</string>
@@ -189,8 +198,7 @@
     <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"從 SD 卡掃描媒體中..."</string>
     <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"SD 卡為唯讀狀態"</string>
     <string name="next_label" msgid="4693520878012668114">"下一頁"</string>
-    <string name="language_picker_title" msgid="4034157617842965844">"地區設定"</string>
-    <string name="select_your_language" msgid="1146235168951906084">"選取語言"</string>
+    <string name="language_picker_title" msgid="5349877711342869319">"語言"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"選取動作"</string>
     <string name="device_info_label" msgid="6551553813651711205">"裝置資訊"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"電池資訊"</string>
@@ -257,15 +265,41 @@
     <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"變更解鎖密碼"</string>
     <string name="lockpassword_password_too_short" msgid="7328975683669256660">"密碼必須有至少 %d 個字元"</string>
     <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"PIN 必須有至少 %d 個字元"</string>
-    <string name="lockpassword_press_continue" msgid="6506047902828925216">"完成時請按 [繼續]"</string>
+    <string name="lockpassword_press_continue" msgid="122706614386757182">"完成時請輕觸 [繼續]"</string>
     <string name="lockpassword_continue_label" msgid="4602203784934526940">"繼續"</string>
     <string name="lockpassword_password_too_long" msgid="7354418473281442589">"PIN 不得超過 %d 位數"</string>
     <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"PIN 不得超過 %d 位數"</string>
     <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"PIN 只能包含數字 0-9"</string>
+    <string name="lockpassword_pin_recently_used" msgid="2729073062730842496">"裝置管理員不允許最近用過的 PIN"</string>
     <string name="lockpassword_illegal_character" msgid="6204396794254688549">"密碼包含不適用的字元"</string>
     <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"密碼必須包含至少 1 個字母"</string>
     <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"密碼必須包含至少 1 個數字"</string>
     <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"密碼必須包含至少 1 個符號"</string>
+  <plurals name="lockpassword_password_requires_letters">
+    <item quantity="one" msgid="1462968118065694590">"密碼至少必須包含 1 個字母"</item>
+    <item quantity="other" msgid="7278096339907683541">"密碼至少必須包含 %d 個字母"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_lowercase">
+    <item quantity="one" msgid="2048653993044269649">"密碼至少必須包含 1 個小寫字母"</item>
+    <item quantity="other" msgid="588499075580432178">"密碼至少必須包含 %d 個小寫字母"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_uppercase">
+    <item quantity="one" msgid="7677454174080582601">"密碼至少必須包含 1 個大寫字母"</item>
+    <item quantity="other" msgid="2183090598541826806">"密碼至少必須包含 %d 個大寫字母"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_numeric">
+    <item quantity="one" msgid="8585088032818933985">"密碼至少必須包含 1 個數字"</item>
+    <item quantity="other" msgid="995673409754935278">"密碼至少必須包含 %d 個數字"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_symbols">
+    <item quantity="one" msgid="3930886641317826293">"密碼至少必須包含 1 個特殊符號"</item>
+    <item quantity="other" msgid="3047460862484105274">"密碼至少必須包含 %d 個特殊符號"</item>
+  </plurals>
+  <plurals name="lockpassword_password_requires_nonletter">
+    <item quantity="one" msgid="1716355580615489062">"密碼至少必須包含 1 個非字母字元"</item>
+    <item quantity="other" msgid="5574191164708145973">"密碼至少必須包含 %d 個非字母字元"</item>
+  </plurals>
+    <string name="lockpassword_password_recently_used" msgid="2739642871806935825">"裝置管理員不允許使用最近用過的密碼"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"確定"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"取消"</string>
     <string name="device_admin_title" msgid="3562216873644263804">"裝置管理"</string>
@@ -303,9 +337,15 @@
     <string name="bluetooth_profile_a2dp" msgid="3259633293424539529">"媒體"</string>
     <string name="bluetooth_profile_headset" msgid="1874975688666658946">"電話"</string>
     <string name="bluetooth_profile_opp" msgid="3799470046565284440">"傳輸"</string>
+    <string name="bluetooth_profile_hid" msgid="3000858580917633478">"輸入裝置"</string>
+    <!-- no translation found for bluetooth_profile_pan (4225813400648547154) -->
+    <skip />
     <string name="bluetooth_summary_connected_to_a2dp" msgid="510833839847758664">"連接至媒體音訊"</string>
     <string name="bluetooth_summary_connected_to_headset" msgid="4876496372728623918">"連接至電話音訊"</string>
     <string name="bluetooth_summary_connected_to_a2dp_headset" msgid="3045032710457800891">"連接至電話和媒體音訊"</string>
+    <string name="bluetooth_summary_connected_to_hid" msgid="8147499644396475561">"已連線到輸入裝置"</string>
+    <!-- no translation found for bluetooth_summary_connected_to_pan (3157622705092537266) -->
+    <skip />
     <string name="bluetooth_device_advanced_title" msgid="528816860793581131">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> 選項"</string>
     <string name="bluetooth_device_advanced_online_mode_title" msgid="3689050071425683114">"連線"</string>
     <string name="bluetooth_device_advanced_online_mode_summary" msgid="1204424107263248336">"連接至藍牙裝置"</string>
@@ -314,9 +354,13 @@
     <string name="bluetooth_headset_profile_summary_connected" msgid="7661070206715520671">"連接至電話音訊"</string>
     <string name="bluetooth_opp_profile_summary_connected" msgid="2611913495968309066">"已連線到檔案傳輸伺服器"</string>
     <string name="bluetooth_opp_profile_summary_not_connected" msgid="1267091356089086285">"不要連線到檔案傳輸伺服器"</string>
+    <string name="bluetooth_hid_profile_summary_connected" msgid="3381760054215168689">"已連線到輸入裝置"</string>
+    <!-- no translation found for bluetooth_pan_profile_summary_connected (7456487225516323485) -->
+    <skip />
     <string name="bluetooth_a2dp_profile_summary_use_for" msgid="4630849022250168427">"用於媒體音訊"</string>
     <string name="bluetooth_headset_profile_summary_use_for" msgid="8705753622443862627">"用於電話音訊"</string>
     <string name="bluetooth_opp_profile_summary_use_for" msgid="1255674547144769756">"用於傳輸檔案"</string>
+    <string name="bluetooth_hid_profile_summary_use_for" msgid="232727040453645139">"用於輸入"</string>
     <string name="bluetooth_dock_settings" msgid="3218335822716052885">"座架設定"</string>
     <string name="bluetooth_dock_settings_title" msgid="5543069893044375188">"使用座架播放音訊"</string>
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"當成手機喇叭"</string>
@@ -496,8 +540,10 @@
     <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">"SD 卡和行動電話儲存空間"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"SD 卡和行動電話儲存空間設定"</string>
+    <!-- no translation found for storage_settings (4211799979832404953) -->
+    <skip />
+    <!-- no translation found for storage_settings_title (8746016738388094064) -->
+    <skip />
     <string name="storage_settings_summary" msgid="9176693537325988610">"卸載 SD 卡，檢視可用儲存媒體。"</string>
     <string name="status_number" msgid="5123197324870153205">"我的電話號碼"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
@@ -588,12 +634,27 @@
     <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>
+    <!-- no translation found for tether_settings_title_usb (6688416425801386511) -->
+    <skip />
     <string name="tether_settings_title_wifi" msgid="3277144155960302049">"可攜式無線基地台"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"數據連線與可攜式無線基地台"</string>
+    <!-- no translation found for tether_settings_title_bluetooth (355855408317564420) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_usb_bluetooth (5355828977109785001) -->
+    <skip />
+    <!-- no translation found for tether_settings_title_all (8356136101061143841) -->
+    <skip />
     <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>
+    <!-- no translation found for tether_settings_summary_bluetooth (4363059913219151114) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_wifi (3700323208282018772) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_usb_bluetooth (4008195891276675882) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_wifi_bluetooth (2753904149495692201) -->
+    <skip />
+    <!-- no translation found for tether_settings_summary_all (1171769255924636665) -->
+    <skip />
     <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,6 +662,24 @@
     <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>
+    <!-- no translation found for bluetooth_tether_checkbox_text (2379175828878753652) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_available_subtext (3317112145693933963) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_connected_subtext (893888246368164894) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_off_subtext (1798863866978968964) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_errored_subtext (1344187103463073993) -->
+    <skip />
+    <!-- no translation found for bluetooth_tethering_overflow_error (2222060504731415763) -->
+    <skip />
+    <!-- no translation found for bluetooth_untether_blank (2871192409329334813) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_text (2273368767599539525) -->
+    <skip />
+    <!-- no translation found for bluetooth_tether_settings_subtext (5970033999897946708) -->
+    <skip />
     <string name="tethering_help_button_text" msgid="656117495547173630">"說明"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"行動網路"</string>
     <string name="network_settings_summary" msgid="5149750850846813553">"設定漫遊、網路、APN 選項"</string>
@@ -824,6 +903,7 @@
     <string name="quick_launch_display_mode_applications" msgid="3748789806447639039">"應用程式"</string>
     <string name="quick_launch_display_mode_shortcuts" msgid="4177934019174169042">"快速鍵"</string>
     <string name="input_methods_settings_title" msgid="6800066636850553887">"文字輸入法"</string>
+    <string name="input_method" msgid="5434026103176856164">"輸入方式"</string>
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"管理輸入法選項"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"<xliff:g id="IME_NAME">%1$s</xliff:g> 設定"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"螢幕鍵盤設定"</string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index e814951..23b429c 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -292,14 +292,20 @@
     <!-- Used for diagnostic screens, precise translation is not necessary -->
     <string name="intent_sender_account_label">Account: </string>
 
+    <!-- HTTP proxy settings title -->
+    <string name="proxy_settings_title">Proxy Settings</string>
+    <!-- HTTP proxy settings summary -->
+    <string name="proxy_settings_summary">Set the global HTTP proxy and exclusion lists</string>
     <!-- HTTP proxy settings. Button to clear the proxy box. -->
     <string name="proxy_clear_text">Clear</string>
     <!-- HTTP proxy settings. The port number label. -->
     <string name="proxy_port_label">Port</string>
+    <!-- HTTP proxy settings. The exclusion list label. -->
+    <string name="proxy_exclusionlist_label">No Proxy for</string>
     <!-- HTTP proxy settings. The button to restore the defaults. -->
     <string name="proxy_defaultView_text">Restore defaults</string>
     <!-- HTTP proxy settings. The button to save. -->
-    <string name="proxy_action_text">Save</string>
+    <string name="proxy_action_text">Done</string>
     <!-- HTTP proxy settings. The text field for the hostname -->
     <string name="proxy_hostname_label">Hostname</string>
     <!-- HTTP proxy settings. Title if there is an error-->
@@ -308,6 +314,8 @@
     <string name="proxy_error_dismiss">OK</string>
     <!-- HTTP proxy settings. The error if the hostname is not valid -->
     <string name="proxy_error_invalid_host">The hostname you typed is not valid.</string>
+    <!-- HTTP proxy settings. The error if the exclusion list is not valid -->
+    <string name="proxy_error_invalid_exclusion_list">The exclusion list you typed is not properly formatted. Please enter a comma-separated list of excluded domains.</string>
     <!-- HTTP proxy settings. Error msg -->
     <string name="proxy_error_empty_port">You must complete the port field.</string>
     <!-- HTTP proxy settings. Error msg -->
@@ -419,9 +427,7 @@
 
     <!-- LocalePicker -->
     <!-- Title for the locale picker activity -->
-    <string name="language_picker_title">Locale</string>
-    <!-- Locale picker screen. Label for choosing the locale -->
-    <string name="select_your_language">Select your language</string>
+    <string name="language_picker_title">Language</string>
 
     <!-- The title of the dialog to pick an activity.  This is shown when there are multiple activities that can do a particular action.  For example, suppose you click on the "Share" menu item in the Browser.  Since you can share the webpage URL via many communication methods, this dialog would come up with choices like "Email", "IM", etc.  This is a generic message, and the previous example is a single possible scenario (so please don't assume it's for the browser or anything :) ). -->
     <string name="activity_picker_label">Select activity</string>
@@ -592,7 +598,7 @@
     <string name="lockpassword_pin_too_short">PIN must be at least %d characters</string>
 
     <!-- Hint shown after minimum password criteria is met -->
-    <string name="lockpassword_press_continue">Press Continue when done</string>
+    <string name="lockpassword_press_continue">Touch Continue when done</string>
 
     <!-- Hint shown after minimum password criteria is met -->
     <string name="lockpassword_continue_label">Continue</string>
@@ -605,6 +611,9 @@
     <!-- Error shown when in PIN mode and user enters a non-digit -->
     <string name="lockpassword_pin_contains_non_digits">PIN must contain only digits 0-9</string>
 
+    <!-- Error shown when in PIN mode and PIN has been used recently. Please keep this string short! -->
+    <string name="lockpassword_pin_recently_used">Device administrator disallows using a recent PIN</string>
+
     <!-- Error shown when in PASSWORD mode and user enters an invalid character -->
     <string name="lockpassword_illegal_character">Password contains an illegal character</string>
 
@@ -617,6 +626,45 @@
     <!-- Error shown when in PASSWORD mode and password doesn't contain any symbols -->
     <string name="lockpassword_password_requires_symbol">Password must contain at least one symbol</string>
 
+    <!-- Error shown when in PASSWORD mode and password doesn't contain the required number of letters -->
+    <plurals name="lockpassword_password_requires_letters">
+        <item quantity="one">Password must contain at least 1 letter</item>
+        <item quantity="other">Password must contain at least %d letters</item>
+    </plurals>
+
+    <!-- Error shown when in PASSWORD mode and password doesn't contain the required number of lowercase letters -->
+    <plurals name="lockpassword_password_requires_lowercase">
+        <item quantity="one">Password must contain at least 1 lowercase letter</item>
+        <item quantity="other">Password must contain at least %d lowercase letters</item>
+    </plurals>
+
+    <!-- Error shown when in PASSWORD mode and password doesn't contain the required number of uppercase letters -->
+    <plurals name="lockpassword_password_requires_uppercase">
+        <item quantity="one">Password must contain at least 1 uppercase letter</item>
+        <item quantity="other">Password must contain at least %d uppercase letters</item>
+    </plurals>
+
+    <!-- Error shown when in PASSWORD mode and password doesn't contain the required number of numerical digits -->
+    <plurals name="lockpassword_password_requires_numeric">
+        <item quantity="one">Password must contain at least 1 numerical digit</item>
+        <item quantity="other">Password must contain at least %d numerical digits</item>
+    </plurals>
+
+    <!-- Error shown when in PASSWORD mode and password doesn't contain the required number of special symbols -->
+    <plurals name="lockpassword_password_requires_symbols">
+        <item quantity="one">Password must contain at least 1 special symbol</item>
+        <item quantity="other">Password must contain at least %d special symbols</item>
+    </plurals>
+
+    <!-- Error shown when in PASSWORD mode and password doesn't contain the required number of non-letter characters -->
+    <plurals name="lockpassword_password_requires_nonletter">
+        <item quantity="one">Password must contain at least 1 non-letter character</item>
+        <item quantity="other">Password must contain at least %d non-letter characters</item>
+    </plurals>
+
+    <!-- Error shown when in PASSWORD mode and password has been used recently. Please keep this string short! -->
+    <string name="lockpassword_password_recently_used">Device administrator disallows using a recent password</string>
+
     <!-- Label for ChoosePassword/PIN OK button -->
     <string name="lockpassword_ok_label">OK</string>
 
@@ -714,6 +762,10 @@
     <string name="bluetooth_profile_headset">Phone</string>
     <!-- Bluetooth settings.  The user-visible string that is used whenever referring to the OPP profile. -->
     <string name="bluetooth_profile_opp">Transfer</string>
+    <!-- Bluetooth settings. The user-visible string that is used whenever referring to the HID profile. -->
+    <string name="bluetooth_profile_hid">Input Device</string>
+    <!-- Bluetooth settings. The user-visible string that is used whenever referring to the PAN profile. [CHAR LIMIT=25]-->
+    <string name="bluetooth_profile_pan">Tethering</string>
 
     <!-- Bluetooth settings.  The summary string when a device is connected to the A2DP profile. -->
     <string name="bluetooth_summary_connected_to_a2dp">Connected to media audio</string>
@@ -721,6 +773,10 @@
     <string name="bluetooth_summary_connected_to_headset">Connected to phone audio</string>
     <!-- Bluetooth settings.  The summary string when a device is connected to the A2DP and headset profiles. -->
     <string name="bluetooth_summary_connected_to_a2dp_headset">Connected to phone and media audio</string>
+    <!-- Bluetooth settings. The summary string when a device is connected to the HID profile. -->
+    <string name="bluetooth_summary_connected_to_hid">Connected to input device</string>
+    <!-- Bluetooth settings. The summary string when a device is connected to the PAN profile. [CHAR LIMIT=35]-->
+    <string name="bluetooth_summary_connected_to_pan">Tethered</string>
 
     <!-- Bluetooth settings.  Connection options screen.  The title of the screen. -->
     <string name="bluetooth_device_advanced_title"><xliff:g id="device_name">%1$s</xliff:g> options</string>
@@ -738,6 +794,10 @@
     <string name="bluetooth_opp_profile_summary_connected">Connected to file transfer server</string>
     <!-- Bluetooth settings.  Connection options screen.  The summary for the OPP checkbox preference when OPP is not connected. -->
     <string name="bluetooth_opp_profile_summary_not_connected">Not connected to file transfer server</string>
+    <!-- Bluetooth settings. Connection options screen. The summary for the HID checkbox preference when HID is connected. -->
+    <string name="bluetooth_hid_profile_summary_connected">Connected to input device</string>
+    <!-- Bluetooth settings. Connection options screen. The summary for the PAN checkbox preference when PAN is connected. [CHAR LIMIT=25]-->
+    <string name="bluetooth_pan_profile_summary_connected">Tethered</string>
 
     <!-- Bluetooth settings.  Connection options screen.  The summary for the A2DP checkbox preference that describes how checking it will set the A2DP profile as preferred. -->
     <string name="bluetooth_a2dp_profile_summary_use_for">Use for media audio</string>
@@ -745,6 +805,10 @@
     <string name="bluetooth_headset_profile_summary_use_for">Use for phone audio</string>
     <!-- Bluetooth settings.  Connection options screen.  The summary for the OPP checkbox preference that describes how checking it will set the OPP profile as preferred. -->
     <string name="bluetooth_opp_profile_summary_use_for">Use for file transfer</string>
+    <!-- Bluetooth settings. Connection options screen. The summary
+         for the HID checkbox preference that describes how checking it
+         will set the HID profile as preferred. -->
+    <string name="bluetooth_hid_profile_summary_use_for">Use for input</string>
 
     <!-- Bluetooth settings.  Dock Setting Title -->
     <string name="bluetooth_dock_settings">Dock Settings</string>
@@ -1210,9 +1274,9 @@
     <!-- About phone screen, summary of the item to go into the phone status screen -->
     <string name="device_status_summary">Phone number, signal, etc.</string>
     <!-- Main settings screen item's title to go into the SD card and storage settings screen-->
-    <string name="storage_settings">SD card &amp; phone storage</string>
+    <string name="storage_settings">Storage</string>
     <!-- SD card and storage settings screen title -->
-    <string name="storage_settings_title">SD card &amp; phone storage settings</string>
+    <string name="storage_settings_title">Storage settings</string>
     <!-- [CHAR LIMIT=100] Main settings screen item's summary for the SD card and storage settings -->
     <string name="storage_settings_summary">Unmount SD card, view available storage</string>
     <!-- Do not translate. About phone, status item title -->
@@ -1261,7 +1325,10 @@
     <string name="sd_eject">Unmount SD card</string>
     <!-- SD card & phone storage settings item title that will result in the phone unmounting the SD card.  This will be done before the user phyiscally removes the SD card from the phone.  Kind of like the "Safely remove" on some operating systems.   -->
     <string name="sd_eject_summary">Unmount the SD card for safe removal</string>
-
+    <!-- SD card & phone storage settings item title for toggling PTP mode on and off.  When PTP mode is on the device will appear on the USB bus as a PTP camera device instead of an MTP music player.   -->
+    <string name="ptp_mode">Enable PTP mode</string>
+    <!-- SD card & phone storage settings item summary for toggling PTP mode on and off.  When PTP mode is on the device will appear on the USB bus as a PTP camera device instead of an MTP music player.   -->
+    <string name="ptp_mode_summary">Appear on USB as a PTP camera device instead of an MTP device</string>
 
     <!-- SD card & phone storage settings item summary that is displayed when no SD card is inserted -->
     <string name="sd_insert_summary">Insert an SD card for mounting</string>
@@ -1409,13 +1476,32 @@
     <string name="call_settings_summary">Set up voicemail, call forwarding, call waiting, caller ID</string>
 
     <!-- Tethering controls, item title to go into the tethering settings -->
-    <string name="tether_settings_title_usb">Tethering</string>
+    <!-- Tethering controls, item title to go into the tethering settings when only USB tethering is available [CHAR LIMIT=25]-->
+    <string name="tether_settings_title_usb">USB tethering</string>
+    <!-- Tethering controls, item title to go into the tethering settings when only Wifi tethering is available [CHAR LIMIT=25]-->
     <string name="tether_settings_title_wifi">Portable hotspot</string>
-    <string name="tether_settings_title_both">Tethering &amp; portable hotspot</string>
+    <!-- Tethering controls, item title to go into the tethering settings when only Bluetooth tethering is available [CHAR LIMIT=25]-->
+    <string name="tether_settings_title_bluetooth">Bluetooth tethering</string>
+    <!-- Tethering controls, item title to go into the tethering settings when USB and Bluetooth tethering are available [CHAR LIMIT=25]-->
+    <string name="tether_settings_title_usb_bluetooth">Tethering</string>
+    <!-- Tethering controls, item title to go into the tethering settings when USB, Bluetooth and Wifi tethering are available [CHAR LIMIT=25]-->
+    <string name="tether_settings_title_all">Tethering &amp; portable hotspot</string>
+
     <!-- Tethering controls, the item summary for the user to go into the tethering settings -->
+    <!-- Tethering controls, the item summary for the user to go into the tethering settings when only USB tethering is available [CHAR LIMIT=100]-->
     <string name="tether_settings_summary_usb">Share your phone\'s mobile data connection via USB</string>
+    <!-- Tethering controls, the item summary for the user to go into the tethering settings when only Wifi tethering is available [CHAR LIMIT=100]-->
     <string name="tether_settings_summary_wifi">Share your phone\'s mobile connection as a portable Wi-Fi hotspot</string>
-    <string name="tether_settings_summary_both">Share your phone\'s mobile data connection via USB or as a portable Wi-Fi hotspot</string>
+    <!-- Tethering controls, the item summary for the user to go into the tethering settings when only Bluetooth tethering is available [CHAR LIMIT=100]-->
+    <string name="tether_settings_summary_bluetooth">Share your phone\'s mobile connection via Bluetooth</string>
+    <!-- Tethering controls, the item summary for the user to go into the tethering settings when USB and Wifi tethering are available [CHAR LIMIT=100]-->
+    <string name="tether_settings_summary_usb_wifi">Share your phone\'s mobile data connection via USB or as a portable Wi-Fi hotspot</string>
+    <!-- Tethering controls, the item summary for the user to go into the tethering settings when USB and Bluetooth tethering are available [CHAR LIMIT=100]-->
+    <string name="tether_settings_summary_usb_bluetooth">Share your phone\'s mobile data connection via USB or Bluetooth</string>
+    <!-- Tethering controls, the item summary for the user to go into the tethering settings when Bluetooth and Wifi tethering are available [CHAR LIMIT=100]-->
+    <string name="tether_settings_summary_wifi_bluetooth">Share your phone\'s mobile data connection via Bluetooth or as a portable Wi-Fi hotspot</string>
+    <!-- Tethering controls, the item summary for the user to go into the tethering settings when USB, Wifi, and Bluetooth tethering are available [CHAR LIMIT=100]-->
+    <string name="tether_settings_summary_all">Share your phone\'s mobile data connection via USB, Wi-Fi, or Bluetooth</string>
 
     <!-- USB Tethering options -->
     <string name="usb_title">USB</string>
@@ -1431,7 +1517,26 @@
     <!-- USB errored subtext - shown when USB is broken for some reason -->
     <string name="usb_tethering_errored_subtext">USB tethering error</string>
 
-    <!-- Thethering help button - calls up a web view with general tethering info -->
+    <!-- Bluetooth Tethering settings-->
+    <!-- Label for bluetooth tether checkbox [CHAR LIMIT=25]-->
+    <string name="bluetooth_tether_checkbox_text">Bluetooth tethering</string>
+    <!-- Bluetooth available subtext - shown when Bluetooth tethering is turned on but it is not currently tethered to any devices [CHAR LIMIT=50]-->
+    <string name="bluetooth_tethering_available_subtext">Bluetooth tethering on, but not connected</string>
+    <!-- Bluetooth connected subtext - shown when a device is tethered over Bluetooth [CHAR LIMIT=50]-->
+    <string name="bluetooth_tethering_connected_subtext">Bluetooth tethering on and connected</string>
+    <!-- Bluetooth tethering off subtext - shown when Bluetooth Tethering is turned off [CHAR LIMIT=50]-->
+    <string name="bluetooth_tethering_off_subtext">Bluetooth tethering off</string>
+    <!-- Bluetooth errored subtext - shown when Bluetooth is broken for some reason [CHAR LIMIT=50]-->
+    <string name="bluetooth_tethering_errored_subtext">Bluetooth tethering error</string>
+    <!-- Bluetooth Tethering settings. Error message shown when trying to connect an 8th device [CHAR LIMIT=50]-->
+    <string name="bluetooth_tethering_overflow_error">Cannot tether to more than <xliff:g id="maxConnection">%1$d</xliff:g> devices</string>
+    <!-- Bluetooth Tethering settings.  Message for untethering from a bluetooth device [CHAR LIMIT=50]-->
+    <string name="bluetooth_untether_blank"><xliff:g id="device_name">%1$s</xliff:g> will be untethered.</string>
+
+    <string name="bluetooth_tether_settings_text">Bluetooth tethering settings</string>
+    <string name="bluetooth_tether_settings_subtext">Select Bluetooth devices to tether</string>
+
+    <!-- Tethering help button - calls up a web view with general tethering info -->
     <string name="tethering_help_button_text">Help</string>
 
     <!-- Wireless controls, item title to go into the network settings -->
@@ -1914,6 +2019,8 @@
 
     <!-- Input methods Settings -->
     <string name="input_methods_settings_title">Text input</string>
+    <!-- Setting name for Input Method chooser -->
+    <string name="input_method">Input method</string>
     <string name="input_methods_settings_summary">Manage text input options</string>
     <!-- Input Methods Settings localized format string for generating the appropriate "Foo settings" menu label for the Input Method named "Foo" -->
     <string name="input_methods_settings_label_format"><xliff:g id="ime_name">%1$s</xliff:g> settings</string>
diff --git a/res/xml/accessibility_settings.xml b/res/xml/accessibility_settings.xml
index 7beab15..f82af85 100644
--- a/res/xml/accessibility_settings.xml
+++ b/res/xml/accessibility_settings.xml
@@ -15,7 +15,8 @@
 -->
 
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
-        xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
+        xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"
+        android:title="@string/accessibility_settings_title">
 
     <CheckBoxPreference
             android:key="toggle_accessibility_service_checkbox"
diff --git a/res/xml/device_info_memory.xml b/res/xml/device_info_memory.xml
index 785fded..7bce41c 100644
--- a/res/xml/device_info_memory.xml
+++ b/res/xml/device_info_memory.xml
@@ -14,7 +14,8 @@
      limitations under the License.
 -->
 
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+        android:title="@string/storage_settings_title">
 
     <PreferenceCategory android:title="@string/sd_memory">
         <Preference android:key="memory_sd_size" 
@@ -38,6 +39,9 @@
             style="?android:attr/preferenceInformationStyle" 
             android:title="@string/memory_available"
             android:summary="00"/>
+        <CheckBoxPreference android:key="ptp_mode_toggle"
+            android:title="@string/ptp_mode"
+            android:summary="@string/ptp_mode_summary"/>
     </PreferenceCategory>
 
 </PreferenceScreen>
diff --git a/res/xml/language_settings.xml b/res/xml/language_settings.xml
index d3c0e02..730d6ea 100644
--- a/res/xml/language_settings.xml
+++ b/res/xml/language_settings.xml
@@ -15,18 +15,23 @@
 -->
 
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
-        xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
+        xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"
+        android:title="@string/language_keyboard_settings_title">
 
     <PreferenceScreen
-            android:key="phone_language"
-            android:title="@string/phone_language">
-        <intent android:action="android.intent.action.MAIN"
-                android:targetPackage="com.android.settings"
-                android:targetClass="com.android.settings.LocalePicker"/>
+       android:fragment="com.android.settings.LocalePicker"
+       android:key="phone_language"
+       android:title="@string/phone_language">
     </PreferenceScreen>
 
     <PreferenceCategory android:key="text_category"
-            android:title="@string/text_category" />
+            android:title="@string/text_category">
+
+        <PreferenceScreen android:key="input_method"
+                android:title="@string/input_method"
+                android:widgetLayout="@*android:layout/preference_dialog" />
+
+    </PreferenceCategory>
 
     <PreferenceScreen
             android:key="hardkeyboard_category"
diff --git a/res/xml/privacy_settings.xml b/res/xml/privacy_settings.xml
index 7ac14dc..742c621 100644
--- a/res/xml/privacy_settings.xml
+++ b/res/xml/privacy_settings.xml
@@ -14,7 +14,8 @@
      limitations under the License.
 -->
 
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+        android:title="@string/privacy_settings_title">
 
     <PreferenceCategory android:key="backup_category"
             android:title="@string/backup_section_title">
diff --git a/res/xml/security_settings.xml b/res/xml/security_settings.xml
index 29244f7..d0e200a5 100644
--- a/res/xml/security_settings.xml
+++ b/res/xml/security_settings.xml
@@ -14,7 +14,8 @@
      limitations under the License.
 -->
 
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+        android:title="@string/location_security_settings_title">
 
     <PreferenceCategory
         android:key="location_category"
diff --git a/res/xml/settings.xml b/res/xml/settings.xml
index 326c494..7ec40ec 100644
--- a/res/xml/settings.xml
+++ b/res/xml/settings.xml
@@ -34,15 +34,16 @@
             <intent android:action="com.android.settings.MANUFACTURER_APPLICATION_SETTING" />
         </com.android.settings.IconPreferenceScreen>
 
+        <!-- Wireless controls -->
+
         <com.android.settings.IconPreferenceScreen
             android:title="@string/radio_controls_title"
+            android:fragment="com.android.settings.WirelessSettings"
             settings:icon="@drawable/ic_settings_wireless">
-            <intent
-                android:action="android.intent.action.MAIN"
-                android:targetPackage="com.android.settings"
-                android:targetClass="com.android.settings.WirelessSettings" />
         </com.android.settings.IconPreferenceScreen>
 
+        <!-- Call settings - this is in the phone process -->
+
         <com.android.settings.IconPreferenceScreen
             android:key="call_settings"
             settings:icon="@drawable/ic_settings_call"
@@ -57,46 +58,34 @@
 
         <com.android.settings.IconPreferenceScreen
             settings:icon="@drawable/ic_settings_sound"
+            android:fragment="com.android.settings.SoundSettings"
             android:title="@string/sound_settings_title">
-            <intent
-                android:action="android.intent.action.MAIN"
-                android:targetPackage="com.android.settings"
-                android:targetClass="com.android.settings.SoundSettings" />
         </com.android.settings.IconPreferenceScreen>
 
         <!-- Display -->
 
         <com.android.settings.IconPreferenceScreen
             settings:icon="@drawable/ic_settings_display"
+            android:fragment="com.android.settings.DisplaySettings"
             android:title="@string/display_settings_title">
-            <intent
-                android:action="android.intent.action.MAIN"
-                android:targetPackage="com.android.settings"
-                android:targetClass="com.android.settings.DisplaySettings" />
         </com.android.settings.IconPreferenceScreen>
 
         <!-- Security & Location -->
 
         <com.android.settings.IconPreferenceScreen
+            android:fragment="com.android.settings.SecuritySettings"
             settings:icon="@drawable/ic_settings_security"
             android:title="@string/security_settings_title"
             android:key="security_settings">
-            <intent
-                android:action="android.intent.action.MAIN"
-                android:targetPackage="com.android.settings"
-                android:targetClass="com.android.settings.SecuritySettings" />
         </com.android.settings.IconPreferenceScreen>
 
         <!-- Application Settings -->
 
         <com.android.settings.IconPreferenceScreen
+            android:fragment="com.android.settings.ApplicationSettings"
             settings:icon="@drawable/ic_settings_applications"
             android:title="@string/applications_settings"
             android:key="applications_settings">
-            <intent
-                android:action="android.intent.action.MAIN"
-                android:targetPackage="com.android.settings"
-                android:targetClass="com.android.settings.ApplicationSettings" />
         </com.android.settings.IconPreferenceScreen>
 
         <!-- Data Sync. The settings activity will ensure this is resolved to an
@@ -113,23 +102,18 @@
         <!-- Privacy -->
 
         <com.android.settings.IconPreferenceScreen
+            android:fragment="com.android.settings.PrivacySettings"
             settings:icon="@drawable/ic_settings_privacy"
             android:title="@string/privacy_settings"
             android:key="privacy_settings">
-            <intent
-                android:action="android.intent.action.MAIN"
-                android:targetPackage="com.android.settings"
-                android:targetClass="com.android.settings.PrivacySettings" />
         </com.android.settings.IconPreferenceScreen>
 
         <!-- Storage -->
 
         <com.android.settings.IconPreferenceScreen 
+            android:fragment="com.android.settings.deviceinfo.Memory"
             settings:icon="@drawable/ic_settings_storage"
             android:title="@string/storage_settings">
-            <intent android:action="android.intent.action.MAIN"
-                android:targetPackage="com.android.settings"
-                android:targetClass="com.android.settings.deviceinfo.Memory" />
         </com.android.settings.IconPreferenceScreen>
 
         <!-- Search. 
@@ -150,68 +134,50 @@
         <!-- Language -->
 
         <com.android.settings.IconPreferenceScreen
+            android:fragment="com.android.settings.LanguageSettings"
             settings:icon="@drawable/ic_settings_language"
             android:title="@string/language_settings">
-            <intent
-                android:action="android.intent.action.MAIN"
-                android:targetPackage="com.android.settings"
-                android:targetClass="com.android.settings.LanguageSettings" />
         </com.android.settings.IconPreferenceScreen>
 
         <!-- Voice input & output -->
 
         <com.android.settings.IconPreferenceScreen
+            android:fragment="com.android.settings.VoiceInputOutputSettings"
             settings:icon="@drawable/ic_settings_speech"
             android:title="@string/voice_input_output_settings">
-            <intent
-                android:action="android.intent.action.MAIN"
-                android:targetPackage="com.android.settings"
-                android:targetClass="com.android.settings.VoiceInputOutputSettings" />
         </com.android.settings.IconPreferenceScreen>
 
         <!-- Accessibility feedback -->
 
         <com.android.settings.IconPreferenceScreen
+            android:fragment="com.android.settings.AccessibilitySettings"
             settings:icon="@drawable/ic_settings_accessibility"
             android:title="@string/accessibility_settings">
-            <intent
-                android:action="android.intent.action.MAIN"
-                android:targetPackage="com.android.settings"
-                android:targetClass="com.android.settings.AccessibilitySettings" />
         </com.android.settings.IconPreferenceScreen>
 
         <!-- Dock -->
 
         <com.android.settings.IconPreferenceScreen
             android:key="dock_settings"
+            android:fragment="com.android.settings.DockSettings"
             settings:icon="@drawable/ic_settings_dock"
             android:title="@string/dock_settings">
-            <intent
-                android:action="android.intent.action.MAIN"
-                android:targetPackage="com.android.settings"
-                android:targetClass="com.android.settings.DockSettings" />
         </com.android.settings.IconPreferenceScreen>
 
         <!-- Date & Time -->
 
         <com.android.settings.IconPreferenceScreen
+            android:fragment="com.android.settings.DateTimeSettings"
             settings:icon="@drawable/ic_settings_date_time"
             android:title="@string/date_and_time_settings_title">
-            <intent
-                android:action="android.intent.action.MAIN"
-                android:targetPackage="com.android.settings"
-                android:targetClass="com.android.settings.DateTimeSettings" />
         </com.android.settings.IconPreferenceScreen>
 
         <!-- About Device -->
 
         <com.android.settings.IconPreferenceScreen
+            android:fragment="com.android.settings.DeviceInfoSettings"
             settings:icon="@drawable/ic_settings_about"
             android:title="@string/about_settings">
-            <intent
-                android:action="android.intent.action.MAIN"
-                android:targetPackage="com.android.settings"
-                android:targetClass="com.android.settings.DeviceInfoSettings" />
         </com.android.settings.IconPreferenceScreen>
 
 </PreferenceScreen>
diff --git a/res/xml/tether_prefs.xml b/res/xml/tether_prefs.xml
index 77fc7c6..95dfaf8 100644
--- a/res/xml/tether_prefs.xml
+++ b/res/xml/tether_prefs.xml
@@ -36,6 +36,21 @@
             android:targetClass="com.android.settings.wifi.WifiApSettings" />
     </PreferenceScreen>
 
+    <CheckBoxPreference
+        android:key="enable_bluetooth_tethering"
+        android:title="@string/bluetooth_tether_checkbox_text"
+        android:persistent="false" />
+
+    <PreferenceScreen
+        android:key="bluetooth_tether_settings"
+        android:title="@string/bluetooth_tether_settings_text"
+        android:summary="@string/bluetooth_tether_settings_subtext" >
+        <intent
+            android:action="com.android.settings.bluetooth.action.LAUNCH_TETHER_PICKER"
+            android:targetPackage="com.android.settings"
+            android:targetClass="com.android.settings.bluetooth.BluetoothSettings" />
+    </PreferenceScreen>
+
     <PreferenceScreen
         android:key="tethering_help"
         android:title="@string/tethering_help_button_text" >
diff --git a/res/xml/wireless_settings.xml b/res/xml/wireless_settings.xml
index 7c91d50..1a8c1e7 100644
--- a/res/xml/wireless_settings.xml
+++ b/res/xml/wireless_settings.xml
@@ -14,7 +14,8 @@
      limitations under the License.
 -->
 
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+        android:title="@string/wireless_networks_settings_title">
 
     <CheckBoxPreference
         android:key="toggle_airplane"
@@ -31,13 +32,10 @@
         android:persistent="false" />
 
     <PreferenceScreen
+        android:fragment="com.android.settings.wifi.WifiSettings"
         android:key="wifi_settings"
         android:title="@string/wifi_settings"
         android:summary="@string/wifi_settings_summary" >
-        <intent
-            android:action="android.intent.action.MAIN"
-            android:targetPackage="com.android.settings"
-            android:targetClass="com.android.settings.wifi.WifiSettings" />
     </PreferenceScreen>
 
     <CheckBoxPreference
@@ -58,8 +56,8 @@
 
     <PreferenceScreen
         android:key="tether_settings"
-        android:title="@string/tether_settings_title_both"
-        android:summary="@string/tether_settings_summary_both">
+        android:title="@string/tether_settings_title_all"
+        android:summary="@string/tether_settings_summary_all">
         <intent
             android:action="android.intent.action.MAIN"
             android:targetPackage="com.android.settings"
@@ -86,4 +84,14 @@
             android:targetClass="com.android.phone.Settings" />
     </PreferenceScreen>
 
+    <PreferenceScreen
+        android:key="proxy_settings"
+        android:title="@string/proxy_settings_title"
+        android:summary="@string/proxy_settings_summary" >
+        <intent
+            android:action="android.intent.action.MAIN"
+            android:targetPackage="com.android.settings"
+            android:targetClass="com.android.settings.ProxySelector" />
+    </PreferenceScreen>
+
 </PreferenceScreen>
diff --git a/src/com/android/settings/AccessibilitySettings.java b/src/com/android/settings/AccessibilitySettings.java
index d78d2d8..8892e96 100644
--- a/src/com/android/settings/AccessibilitySettings.java
+++ b/src/com/android/settings/AccessibilitySettings.java
@@ -22,14 +22,13 @@
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
-import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.pm.ServiceInfo;
+import android.content.pm.PackageManager.NameNotFoundException;
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.SystemProperties;
 import android.preference.CheckBoxPreference;
 import android.preference.Preference;
-import android.preference.PreferenceActivity;
 import android.preference.PreferenceCategory;
 import android.preference.PreferenceGroup;
 import android.preference.PreferenceScreen;
@@ -47,7 +46,7 @@
 /**
  * Activity with the accessibility settings.
  */
-public class AccessibilitySettings extends PreferenceActivity {
+public class AccessibilitySettings extends SettingsPreferenceFragment {
     private static final String DEFAULT_SCREENREADER_MARKET_LINK =
         "market://search?q=pname:com.google.android.marvin.talkback";
 
@@ -77,7 +76,7 @@
     private PreferenceGroup mAccessibilityServicesCategory;
 
     @Override
-    protected void onCreate(Bundle icicle) {
+    public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
         addPreferencesFromResource(R.xml.accessibility_settings);
 
@@ -92,7 +91,7 @@
     }
 
     @Override
-    protected void onResume() {
+    public void onResume() {
         super.onResume();
 
         final HashSet<String> enabled = new HashSet<String>();
@@ -155,7 +154,7 @@
     }
 
     @Override
-    protected void onPause() {
+    public void onPause() {
         super.onPause();
 
         persistEnabledAccessibilityServices();
@@ -214,10 +213,12 @@
             setAccessibilityServicePreferencesState(true);
         } else {
             final CheckBoxPreference checkBoxPreference = preference;
-            AlertDialog dialog = (new AlertDialog.Builder(this))
+            // TODO: DialogFragment?
+            AlertDialog dialog = (new AlertDialog.Builder(getActivity()))
                 .setTitle(android.R.string.dialog_alert_title)
                 .setIcon(android.R.drawable.ic_dialog_alert)
-                .setMessage(getString(R.string.accessibility_service_disable_warning))
+                .setMessage(getResources().
+                        getString(R.string.accessibility_service_disable_warning))
                 .setCancelable(true)
                 .setPositiveButton(android.R.string.ok,
                     new DialogInterface.OnClickListener() {
@@ -246,12 +247,14 @@
     private void handleEnableAccessibilityServiceStateChange(CheckBoxPreference preference) {
         if (preference.isChecked()) {
             final CheckBoxPreference checkBoxPreference = preference;
-            AlertDialog dialog = (new AlertDialog.Builder(this))
+            // TODO: DialogFragment?
+            AlertDialog dialog = (new AlertDialog.Builder(getActivity()))
                 .setTitle(android.R.string.dialog_alert_title)
                 .setIcon(android.R.drawable.ic_dialog_alert)
-                .setMessage(getString(R.string.accessibility_service_security_warning,
-                    mAccessibilityServices.get(preference.getKey())
-                    .applicationInfo.loadLabel(getPackageManager())))
+                .setMessage(getResources().
+                        getString(R.string.accessibility_service_security_warning,
+                                mAccessibilityServices.get(preference.getKey())
+                                .applicationInfo.loadLabel(getActivity().getPackageManager())))
                 .setCancelable(true)
                 .setPositiveButton(android.R.string.ok,
                         new DialogInterface.OnClickListener() {
@@ -318,9 +321,9 @@
 
             mAccessibilityServices.put(key, serviceInfo);
 
-            CheckBoxPreference preference = new CheckBoxPreference(this);
+            CheckBoxPreference preference = new CheckBoxPreference(getActivity());
             preference.setKey(key);
-            preference.setTitle(serviceInfo.loadLabel(getPackageManager()));
+            preference.setTitle(serviceInfo.loadLabel(getActivity().getPackageManager()));
             mAccessibilityServicesCategory.addPreference(preference);
         }
     }
@@ -332,13 +335,14 @@
      */
     private void displayNoAppsAlert() {
         try {
-            PackageManager pm = getPackageManager();
+            PackageManager pm = getActivity().getPackageManager();
             ApplicationInfo info = pm.getApplicationInfo("com.android.vending", 0);
         } catch (NameNotFoundException e) {
             // This is a no-op if the user does not have Android Market
             return;
         }
-        AlertDialog.Builder noAppsAlert = new AlertDialog.Builder(this);
+        // TODO: DialogFragment?
+        AlertDialog.Builder noAppsAlert = new AlertDialog.Builder(getActivity());
         noAppsAlert.setTitle(R.string.accessibility_service_no_apps_title);
         noAppsAlert.setMessage(R.string.accessibility_service_no_apps_message);
 
@@ -351,7 +355,7 @@
                     Uri marketUri = Uri.parse(screenreaderMarketLink);
                     Intent marketIntent = new Intent(Intent.ACTION_VIEW, marketUri);
                     startActivity(marketIntent);
-                    finish();
+                    getFragmentManager().popBackStack();
                 }
             });
 
diff --git a/src/com/android/settings/AirplaneModeEnabler.java b/src/com/android/settings/AirplaneModeEnabler.java
index ff4b27d..ccfe541 100644
--- a/src/com/android/settings/AirplaneModeEnabler.java
+++ b/src/com/android/settings/AirplaneModeEnabler.java
@@ -64,8 +64,6 @@
 
     public void resume() {
         
-        // This is the widget enabled state, not the preference toggled state
-        mCheckBoxPref.setEnabled(true);
         mCheckBoxPref.setChecked(isAirplaneModeOn(mContext));
 
         mPhoneStateReceiver.registerIntent();
@@ -84,13 +82,14 @@
 
     private void setAirplaneModeOn(boolean enabling) {
         
-        mCheckBoxPref.setEnabled(false);
         mCheckBoxPref.setSummary(enabling ? R.string.airplane_mode_turning_on
                 : R.string.airplane_mode_turning_off);
         
         // Change the system setting
         Settings.System.putInt(mContext.getContentResolver(), Settings.System.AIRPLANE_MODE_ON, 
                                 enabling ? 1 : 0);
+        // Update the UI to reflect system setting
+        mCheckBoxPref.setChecked(enabling);
         
         // Post the intent
         Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
@@ -100,14 +99,17 @@
 
     /**
      * Called when we've received confirmation that the airplane mode was set.
+     * TODO: We update the checkbox summary when we get notified
+     * that mobile radio is powered up/down. We should not have dependency
+     * on one radio alone. We need to do the following:
+     * - handle the case of wifi/bluetooth failures
+     * - mobile does not send failure notification, fail on timeout.
      */
     private void onAirplaneModeChanged() {
         ServiceState serviceState = mPhoneStateReceiver.getServiceState();
         boolean airplaneModeEnabled = serviceState.getState() == ServiceState.STATE_POWER_OFF;
-        mCheckBoxPref.setChecked(airplaneModeEnabled);
         mCheckBoxPref.setSummary(airplaneModeEnabled ? null : 
                 mContext.getString(R.string.airplane_mode_summary));            
-        mCheckBoxPref.setEnabled(true);
     }
     
     /**
@@ -128,7 +130,7 @@
             // update database based on the current checkbox state
             setAirplaneModeOn(isAirplaneModeOn);
         } else {
-            // update checkbox state based on database value
+            // update summary
             onAirplaneModeChanged();
         }
     }
diff --git a/src/com/android/settings/ApplicationSettings.java b/src/com/android/settings/ApplicationSettings.java
index a919ae8..ed7c7a0 100644
--- a/src/com/android/settings/ApplicationSettings.java
+++ b/src/com/android/settings/ApplicationSettings.java
@@ -23,12 +23,11 @@
 import android.preference.CheckBoxPreference;
 import android.preference.ListPreference;
 import android.preference.Preference;
-import android.preference.PreferenceActivity;
 import android.preference.PreferenceScreen;
 import android.preference.Preference.OnPreferenceChangeListener;
 import android.provider.Settings;
 
-public class ApplicationSettings extends PreferenceActivity implements
+public class ApplicationSettings extends SettingsPreferenceFragment implements
         DialogInterface.OnClickListener {
     
     private static final String KEY_TOGGLE_INSTALL_APPLICATIONS = "toggle_install_applications";
@@ -51,7 +50,7 @@
     private DialogInterface mWarnInstallApps;
 
     @Override
-    protected void onCreate(Bundle icicle) {
+    public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
 
         addPreferencesFromResource(R.xml.application_settings);
@@ -102,7 +101,7 @@
     }
 
     @Override
-    protected void onDestroy() {
+    public void onDestroy() {
         super.onDestroy();
         if (mWarnInstallApps != null) {
             mWarnInstallApps.dismiss();
@@ -157,8 +156,9 @@
     }
 
     private void warnAppInstallation() {
-        mWarnInstallApps = new AlertDialog.Builder(this)
-                .setTitle(getString(R.string.error_title))
+        // TODO: DialogFragment?
+        mWarnInstallApps = new AlertDialog.Builder(getActivity()).setTitle(
+                getResources().getString(R.string.error_title))
                 .setIcon(com.android.internal.R.drawable.ic_dialog_alert)
                 .setMessage(getResources().getString(R.string.install_all_warning))
                 .setPositiveButton(android.R.string.yes, this)
diff --git a/src/com/android/settings/ChooseLockGeneric.java b/src/com/android/settings/ChooseLockGeneric.java
index 0672ad9..5247e79 100644
--- a/src/com/android/settings/ChooseLockGeneric.java
+++ b/src/com/android/settings/ChooseLockGeneric.java
@@ -138,7 +138,7 @@
                 } else if (KEY_UNLOCK_SET_PIN.equals(key)) {
                     enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_NUMERIC;
                 } else if (KEY_UNLOCK_SET_PASSWORD.equals(key)) {
-                    enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC;
+                    enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_COMPLEX;
                 }
                 if (!enabled) {
                     pref.setSummary(R.string.unlock_set_unlock_disabled_summary);
diff --git a/src/com/android/settings/ChooseLockPassword.java b/src/com/android/settings/ChooseLockPassword.java
index b5e72d7..4d447f4 100644
--- a/src/com/android/settings/ChooseLockPassword.java
+++ b/src/com/android/settings/ChooseLockPassword.java
@@ -48,6 +48,12 @@
     private TextView mPasswordEntry;
     private int mPasswordMinLength = 4;
     private int mPasswordMaxLength = 16;
+    private int mPasswordMinLetters = 0;
+    private int mPasswordMinUpperCase = 0;
+    private int mPasswordMinLowerCase = 0;
+    private int mPasswordMinSymbols = 0;
+    private int mPasswordMinNumeric = 0;
+    private int mPasswordMinNonLetter = 0;
     private LockPatternUtils mLockPatternUtils;
     private int mRequestedQuality = DevicePolicyManager.PASSWORD_QUALITY_NUMERIC;
     private ChooseLockSettingsHelper mChooseLockSettingsHelper;
@@ -61,6 +67,12 @@
     private Button mNextButton;
     public static final String PASSWORD_MIN_KEY = "lockscreen.password_min";
     public static final String PASSWORD_MAX_KEY = "lockscreen.password_max";
+    public static final String PASSWORD_MIN_LETTERS_KEY = "lockscreen.password_min_letters";
+    public static final String PASSWORD_MIN_LOWERCASE_KEY = "lockscreen.password_min_lowercase";
+    public static final String PASSWORD_MIN_UPPERCASE_KEY = "lockscreen.password_min_uppercase";
+    public static final String PASSWORD_MIN_NUMERIC_KEY = "lockscreen.password_min_numeric";
+    public static final String PASSWORD_MIN_SYMBOLS_KEY = "lockscreen.password_min_symbols";
+    public static final String PASSWORD_MIN_NONLETTER_KEY = "lockscreen.password_min_nonletter";
     private static Handler mHandler = new Handler();
     private static final int CONFIRM_EXISTING_REQUEST = 58;
     static final int RESULT_FINISHED = RESULT_FIRST_USER;
@@ -101,19 +113,27 @@
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         mLockPatternUtils = new LockPatternUtils(this);
-        mRequestedQuality = getIntent().getIntExtra(LockPatternUtils.PASSWORD_TYPE_KEY, mRequestedQuality);
-        mPasswordMinLength = getIntent().getIntExtra(PASSWORD_MIN_KEY, mPasswordMinLength);
+        mRequestedQuality = Math.max(getIntent().getIntExtra(LockPatternUtils.PASSWORD_TYPE_KEY,
+                mRequestedQuality), mLockPatternUtils.getRequestedPasswordQuality());
+        mPasswordMinLength = Math.max(
+                getIntent().getIntExtra(PASSWORD_MIN_KEY, mPasswordMinLength), mLockPatternUtils
+                        .getRequestedMinimumPasswordLength());
         mPasswordMaxLength = getIntent().getIntExtra(PASSWORD_MAX_KEY, mPasswordMaxLength);
-
+        mPasswordMinLetters = Math.max(getIntent().getIntExtra(PASSWORD_MIN_LETTERS_KEY,
+                mPasswordMinLetters), mLockPatternUtils.getRequestedPasswordMinimumLetters());
+        mPasswordMinUpperCase = Math.max(getIntent().getIntExtra(PASSWORD_MIN_UPPERCASE_KEY,
+                mPasswordMinUpperCase), mLockPatternUtils.getRequestedPasswordMinimumUpperCase());
+        mPasswordMinLowerCase = Math.max(getIntent().getIntExtra(PASSWORD_MIN_LOWERCASE_KEY,
+                mPasswordMinLowerCase), mLockPatternUtils.getRequestedPasswordMinimumLowerCase());
+        mPasswordMinNumeric = Math.max(getIntent().getIntExtra(PASSWORD_MIN_NUMERIC_KEY,
+                mPasswordMinNumeric), mLockPatternUtils.getRequestedPasswordMinimumNumeric());
+        mPasswordMinSymbols = Math.max(getIntent().getIntExtra(PASSWORD_MIN_SYMBOLS_KEY,
+                mPasswordMinSymbols), mLockPatternUtils.getRequestedPasswordMinimumSymbols());
+        mPasswordMinNonLetter = Math.max(getIntent().getIntExtra(PASSWORD_MIN_NONLETTER_KEY,
+                mPasswordMinNonLetter), mLockPatternUtils.getRequestedPasswordMinimumNonLetter());
         final boolean confirmCredentials = getIntent().getBooleanExtra("confirm_credentials", true);
-        int minMode = mLockPatternUtils.getRequestedPasswordQuality();
-        if (mRequestedQuality < minMode) {
-            mRequestedQuality = minMode;
-        }
-        int minLength = mLockPatternUtils.getRequestedMinimumPasswordLength();
-        if (mPasswordMinLength < minLength) {
-            mPasswordMinLength = minLength;
-        }
+
+
         initViews();
         mChooseLockSettingsHelper = new ChooseLockSettingsHelper(this);
         if (savedInstanceState == null) {
@@ -142,7 +162,8 @@
         mPasswordEntry.addTextChangedListener(this);
 
         mIsAlphaMode = DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC == mRequestedQuality
-            || DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC == mRequestedQuality;
+                || DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC == mRequestedQuality
+                || DevicePolicyManager.PASSWORD_QUALITY_COMPLEX == mRequestedQuality;
         mKeyboardHelper = new PasswordEntryKeyboardHelper(this, mKeyboardView, mPasswordEntry);
         mKeyboardHelper.setKeyboardMode(mIsAlphaMode ?
                 PasswordEntryKeyboardHelper.KEYBOARD_MODE_ALPHA
@@ -212,9 +233,12 @@
                     R.string.lockpassword_password_too_long
                     : R.string.lockpassword_pin_too_long, mPasswordMaxLength);
         }
-        boolean hasAlpha = false;
-        boolean hasDigit = false;
-        boolean hasSymbol = false;
+        int letters = 0;
+        int numbers = 0;
+        int lowercase = 0;
+        int symbols = 0;
+        int uppercase = 0;
+        int nonletter = 0;
         for (int i = 0; i < password.length(); i++) {
             char c = password.charAt(i);
             // allow non white space Latin-1 characters only
@@ -222,32 +246,65 @@
                 return getString(R.string.lockpassword_illegal_character);
             }
             if (c >= '0' && c <= '9') {
-                hasDigit = true;
-            } else if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')) {
-                hasAlpha = true;
+                numbers++;
+                nonletter++;
+            } else if (c >= 'A' && c <= 'Z') {
+                letters++;
+                uppercase++;
+            } else if (c >= 'a' && c <= 'z') {
+                letters++;
+                lowercase++;
             } else {
-                hasSymbol = true;
+                symbols++;
+                nonletter++;
             }
         }
         if (DevicePolicyManager.PASSWORD_QUALITY_NUMERIC == mRequestedQuality
-                && (hasAlpha | hasSymbol)) {
-            // This shouldn't be possible unless user finds some way to bring up soft keyboard
+                && (letters > 0 || symbols > 0)) {
+            // This shouldn't be possible unless user finds some way to bring up
+            // soft keyboard
             return getString(R.string.lockpassword_pin_contains_non_digits);
+        } else if (DevicePolicyManager.PASSWORD_QUALITY_COMPLEX == mRequestedQuality) {
+            if (letters < mPasswordMinLetters) {
+                return String.format(getResources().getQuantityString(
+                        R.plurals.lockpassword_password_requires_letters, mPasswordMinLetters),
+                        mPasswordMinLetters);
+            } else if (numbers < mPasswordMinNumeric) {
+                return String.format(getResources().getQuantityString(
+                        R.plurals.lockpassword_password_requires_numeric, mPasswordMinNumeric),
+                        mPasswordMinNumeric);
+            } else if (lowercase < mPasswordMinLowerCase) {
+                return String.format(getResources().getQuantityString(
+                        R.plurals.lockpassword_password_requires_lowercase, mPasswordMinLowerCase),
+                        mPasswordMinLowerCase);
+            } else if (uppercase < mPasswordMinUpperCase) {
+                return String.format(getResources().getQuantityString(
+                        R.plurals.lockpassword_password_requires_uppercase, mPasswordMinUpperCase),
+                        mPasswordMinUpperCase);
+            } else if (symbols < mPasswordMinSymbols) {
+                return String.format(getResources().getQuantityString(
+                        R.plurals.lockpassword_password_requires_symbols, mPasswordMinSymbols),
+                        mPasswordMinSymbols);
+            } else if (nonletter < mPasswordMinNonLetter) {
+                return String.format(getResources().getQuantityString(
+                        R.plurals.lockpassword_password_requires_nonletter, mPasswordMinNonLetter),
+                        mPasswordMinNonLetter);
+            }
         } else {
             final boolean alphabetic = DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC
                     == mRequestedQuality;
             final boolean alphanumeric = DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC
                     == mRequestedQuality;
-            final boolean symbolic = false; // not yet
-            if ((alphabetic || alphanumeric) && !hasAlpha) {
+            if ((alphabetic || alphanumeric) && letters == 0) {
                 return getString(R.string.lockpassword_password_requires_alpha);
             }
-            if (alphanumeric && !hasDigit) {
+            if (alphanumeric && numbers == 0) {
                 return getString(R.string.lockpassword_password_requires_digit);
             }
-            if (symbolic && !hasSymbol) {
-                return getString(R.string.lockpassword_password_requires_symbol);
-            }
+        }
+        if(mLockPatternUtils.checkPasswordHistory(password)) {
+            return getString(mIsAlphaMode ? R.string.lockpassword_password_recently_used
+                    : R.string.lockpassword_pin_recently_used);
         }
         return null;
     }
@@ -306,7 +363,7 @@
 
     public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
         // Check if this was the result of hitting the enter key
-        if (actionId == EditorInfo.IME_NULL) {
+        if (actionId == EditorInfo.IME_NULL && event.getAction() == KeyEvent.ACTION_DOWN) {
             handleNext();
             return true;
         }
diff --git a/src/com/android/settings/ChooseLockPatternExample.java b/src/com/android/settings/ChooseLockPatternExample.java
index cba88b0..3c96d53 100644
--- a/src/com/android/settings/ChooseLockPatternExample.java
+++ b/src/com/android/settings/ChooseLockPatternExample.java
@@ -66,6 +66,7 @@
             stopAnimation(mAnimation);
             Intent intent = new Intent(this, ChooseLockPattern.class);
             intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
+            intent.putExtra("confirm_credentials", false);
             startActivity(intent);
             finish();
         }
diff --git a/src/com/android/settings/ChooseLockPatternTutorial.java b/src/com/android/settings/ChooseLockPatternTutorial.java
index ee0019f..e699abf 100644
--- a/src/com/android/settings/ChooseLockPatternTutorial.java
+++ b/src/com/android/settings/ChooseLockPatternTutorial.java
@@ -35,6 +35,7 @@
         if (savedInstanceState == null && lockPatternUtils.isPatternEverChosen()) {
             Intent intent = new Intent(this, ChooseLockPattern.class);
             intent.setFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
+            intent.putExtra("confirm_credentials", false);
             startActivity(intent);
             finish();
         } else {
diff --git a/src/com/android/settings/ChooseLockSettingsHelper.java b/src/com/android/settings/ChooseLockSettingsHelper.java
index ba83f8e..abcfc05 100644
--- a/src/com/android/settings/ChooseLockSettingsHelper.java
+++ b/src/com/android/settings/ChooseLockSettingsHelper.java
@@ -52,6 +52,7 @@
             case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC:
             case DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC:
             case DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC:
+            case DevicePolicyManager.PASSWORD_QUALITY_COMPLEX:
                 // TODO: update UI layout for ConfirmPassword to show message and details
                 launched = confirmPassword(request);
                 break;
diff --git a/src/com/android/settings/ConfirmLockPassword.java b/src/com/android/settings/ConfirmLockPassword.java
index 6bc135b..0e893fa 100644
--- a/src/com/android/settings/ConfirmLockPassword.java
+++ b/src/com/android/settings/ConfirmLockPassword.java
@@ -65,7 +65,8 @@
         mKeyboardView = (PasswordEntryKeyboardView) findViewById(R.id.keyboard);
         mHeaderText = (TextView) findViewById(R.id.headerText);
         final boolean isAlpha = DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC == storedQuality
-                || DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC == storedQuality;
+                || DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC == storedQuality
+                || DevicePolicyManager.PASSWORD_QUALITY_COMPLEX == storedQuality;
         mHeaderText.setText(isAlpha ? R.string.lockpassword_confirm_your_password_header
                 : R.string.lockpassword_confirm_your_pin_header);
         mKeyboardHelper = new PasswordEntryKeyboardHelper(this, mKeyboardView, mPasswordEntry);
diff --git a/src/com/android/settings/ConfirmLockPattern.java b/src/com/android/settings/ConfirmLockPattern.java
index eb9a4d8..8d44875 100644
--- a/src/com/android/settings/ConfirmLockPattern.java
+++ b/src/com/android/settings/ConfirmLockPattern.java
@@ -144,6 +144,11 @@
         long deadline = mLockPatternUtils.getLockoutAttemptDeadline();
         if (deadline != 0) {
             handleAttemptLockout(deadline);
+        } else if (!mLockPatternView.isEnabled()) {
+            // The deadline has passed, but the timer was cancelled...
+            // Need to clean up.
+            mNumWrongConfirmAttempts = 0;
+            updateStage(Stage.NeedToUnlock);
         }
     }
 
diff --git a/src/com/android/settings/DateTimeSettings.java b/src/com/android/settings/DateTimeSettings.java
index 5b38651..0a929ba 100644
--- a/src/com/android/settings/DateTimeSettings.java
+++ b/src/com/android/settings/DateTimeSettings.java
@@ -16,8 +16,8 @@
 
 package com.android.settings;
 
-import android.app.Dialog;
 import android.app.DatePickerDialog;
+import android.app.Dialog;
 import android.app.TimePickerDialog;
 import android.content.BroadcastReceiver;
 import android.content.Context;
@@ -30,7 +30,6 @@
 import android.preference.CheckBoxPreference;
 import android.preference.ListPreference;
 import android.preference.Preference;
-import android.preference.PreferenceActivity;
 import android.preference.PreferenceScreen;
 import android.provider.Settings;
 import android.provider.Settings.SettingNotFoundException;
@@ -43,7 +42,7 @@
 import java.util.TimeZone;
 
 public class DateTimeSettings 
-        extends PreferenceActivity 
+ extends SettingsPreferenceFragment
         implements OnSharedPreferenceChangeListener,
                 TimePickerDialog.OnTimeSetListener , DatePickerDialog.OnDateSetListener {
 
@@ -65,7 +64,7 @@
     private ListPreference mDateFormat;
     
     @Override
-    protected void onCreate(Bundle icicle) {
+    public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
         
         addPreferencesFromResource(R.xml.date_time_prefs);
@@ -97,8 +96,8 @@
         }
         for (int i = 0; i < formattedDates.length; i++) {
             String formatted =
-                DateFormat.getDateFormatForSetting(this, dateFormats[i]).
-                    format(mDummyDate.getTime());
+                    DateFormat.getDateFormatForSetting(getActivity(), dateFormats[i])
+                    .format(mDummyDate.getTime());
 
             if (dateFormats[i].length() == 0) {
                 formattedDates[i] = getResources().
@@ -119,7 +118,7 @@
 
     
     @Override
-    protected void onResume() {
+    public void onResume() {
         super.onResume();
         
         getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
@@ -131,23 +130,23 @@
         filter.addAction(Intent.ACTION_TIME_TICK);
         filter.addAction(Intent.ACTION_TIME_CHANGED);
         filter.addAction(Intent.ACTION_TIMEZONE_CHANGED);
-        registerReceiver(mIntentReceiver, filter, null, null);
+        getActivity().registerReceiver(mIntentReceiver, filter, null, null);
         
         updateTimeAndDateDisplay();
     }
 
     @Override 
-    protected void onPause() {
+    public void onPause() {
         super.onPause();
-        unregisterReceiver(mIntentReceiver);
+        getActivity().unregisterReceiver(mIntentReceiver);
         getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);
     }
     
     private void updateTimeAndDateDisplay() {
-        java.text.DateFormat shortDateFormat = DateFormat.getDateFormat(this);
+        java.text.DateFormat shortDateFormat = DateFormat.getDateFormat(getActivity());
         Date now = Calendar.getInstance().getTime();
         Date dummyDate = mDummyDate.getTime();
-        mTimePref.setSummary(DateFormat.getTimeFormat(this).format(now));
+        mTimePref.setSummary(DateFormat.getTimeFormat(getActivity()).format(now));
         mTimeZone.setSummary(getTimeZoneText());
         mDatePref.setSummary(shortDateFormat.format(now));
         mDateFormat.setSummary(shortDateFormat.format(dummyDate));
@@ -210,7 +209,7 @@
         case DIALOG_DATEPICKER: {
             final Calendar calendar = Calendar.getInstance();
             d = new DatePickerDialog(
-                this,
+                getActivity(),
                 this,
                 calendar.get(Calendar.YEAR),
                 calendar.get(Calendar.MONTH),
@@ -221,11 +220,11 @@
         case DIALOG_TIMEPICKER: {
             final Calendar calendar = Calendar.getInstance();
             d = new TimePickerDialog(
-                    this,
+                    getActivity(),
                     this,
                     calendar.get(Calendar.HOUR_OF_DAY),
                     calendar.get(Calendar.MINUTE),
-                    DateFormat.is24HourFormat(this));
+                    DateFormat.is24HourFormat(getActivity()));
             d.setTitle(getResources().getString(R.string.date_time_changeTime_text));
             break;
         }
@@ -237,6 +236,7 @@
         return d;
     }
 
+    /*
     @Override
     public void onPrepareDialog(int id, Dialog d) {
         switch (id) {
@@ -261,7 +261,7 @@
             break;
         }
     }
-    
+    */
     @Override
     public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
         if (preference == mDatePref) {
@@ -276,27 +276,27 @@
             timeUpdated();
         } else if (preference == mTimeZone) {
             Intent intent = new Intent();
-            intent.setClass(this, ZoneList.class);
+            intent.setClass(getActivity(), ZoneList.class);
             startActivityForResult(intent, 0);
         }
         return false;
     }
     
     @Override
-    protected void onActivityResult(int requestCode, int resultCode,
+    public void onActivityResult(int requestCode, int resultCode,
             Intent data) {
         updateTimeAndDateDisplay();
     }
     
     private void timeUpdated() {
         Intent timeChanged = new Intent(Intent.ACTION_TIME_CHANGED);
-        sendBroadcast(timeChanged);
+        getActivity().sendBroadcast(timeChanged);
     }
     
     /*  Get & Set values from the system settings  */
     
     private boolean is24Hour() {
-        return DateFormat.is24HourFormat(this);
+        return DateFormat.is24HourFormat(getActivity());
     }
     
     private void set24Hour(boolean is24Hour) {
diff --git a/src/com/android/settings/DateTimeSettingsActivity.java b/src/com/android/settings/DateTimeSettingsActivity.java
new file mode 100644
index 0000000..3f426b9
--- /dev/null
+++ b/src/com/android/settings/DateTimeSettingsActivity.java
@@ -0,0 +1,380 @@
+/*
+ * Copyright (C) 2008 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings;
+
+import android.app.Dialog;
+import android.app.DatePickerDialog;
+import android.app.TimePickerDialog;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.content.SharedPreferences;
+import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
+import android.os.Bundle;
+import android.os.SystemClock;
+import android.preference.CheckBoxPreference;
+import android.preference.ListPreference;
+import android.preference.Preference;
+import android.preference.PreferenceActivity;
+import android.preference.PreferenceScreen;
+import android.provider.Settings;
+import android.provider.Settings.SettingNotFoundException;
+import android.text.format.DateFormat;
+import android.widget.DatePicker;
+import android.widget.TimePicker;
+
+import java.util.Calendar;
+import java.util.Date;
+import java.util.TimeZone;
+
+public class DateTimeSettingsActivity 
+        extends PreferenceActivity 
+        implements OnSharedPreferenceChangeListener,
+                TimePickerDialog.OnTimeSetListener , DatePickerDialog.OnDateSetListener {
+
+    private static final String HOURS_12 = "12";
+    private static final String HOURS_24 = "24";
+    
+    private Calendar mDummyDate;
+    private static final String KEY_DATE_FORMAT = "date_format";
+    private static final String KEY_AUTO_TIME = "auto_time";
+
+    private static final int DIALOG_DATEPICKER = 0;
+    private static final int DIALOG_TIMEPICKER = 1;
+    
+    private CheckBoxPreference mAutoPref;
+    private Preference mTimePref;
+    private Preference mTime24Pref;
+    private Preference mTimeZone;
+    private Preference mDatePref;
+    private ListPreference mDateFormat;
+    
+    @Override
+    protected void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+        
+        addPreferencesFromResource(R.xml.date_time_prefs);
+        
+        initUI();        
+    }
+    
+    private void initUI() {
+        boolean autoEnabled = getAutoState();
+
+        mDummyDate = Calendar.getInstance();
+        mDummyDate.set(mDummyDate.get(Calendar.YEAR), 11, 31, 13, 0, 0);
+        
+        mAutoPref = (CheckBoxPreference) findPreference(KEY_AUTO_TIME);
+        mAutoPref.setChecked(autoEnabled);
+        mTimePref = findPreference("time");
+        mTime24Pref = findPreference("24 hour");
+        mTimeZone = findPreference("timezone");
+        mDatePref = findPreference("date");
+        mDateFormat = (ListPreference) findPreference(KEY_DATE_FORMAT);
+        
+        String [] dateFormats = getResources().getStringArray(R.array.date_format_values);
+        String [] formattedDates = new String[dateFormats.length];
+        String currentFormat = getDateFormat();
+        // Initialize if DATE_FORMAT is not set in the system settings
+        // This can happen after a factory reset (or data wipe)
+        if (currentFormat == null) {
+            currentFormat = "";
+        }
+        for (int i = 0; i < formattedDates.length; i++) {
+            String formatted =
+                DateFormat.getDateFormatForSetting(this, dateFormats[i]).
+                    format(mDummyDate.getTime());
+
+            if (dateFormats[i].length() == 0) {
+                formattedDates[i] = getResources().
+                    getString(R.string.normal_date_format, formatted);
+            } else {
+                formattedDates[i] = formatted;
+            }
+        }
+        
+        mDateFormat.setEntries(formattedDates);
+        mDateFormat.setEntryValues(R.array.date_format_values);
+        mDateFormat.setValue(currentFormat);
+        
+        mTimePref.setEnabled(!autoEnabled);
+        mDatePref.setEnabled(!autoEnabled);
+        mTimeZone.setEnabled(!autoEnabled);
+    }
+
+    
+    @Override
+    protected void onResume() {
+        super.onResume();
+        
+        getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
+
+        ((CheckBoxPreference)mTime24Pref).setChecked(is24Hour());
+
+        // Register for time ticks and other reasons for time change
+        IntentFilter filter = new IntentFilter();
+        filter.addAction(Intent.ACTION_TIME_TICK);
+        filter.addAction(Intent.ACTION_TIME_CHANGED);
+        filter.addAction(Intent.ACTION_TIMEZONE_CHANGED);
+        registerReceiver(mIntentReceiver, filter, null, null);
+        
+        updateTimeAndDateDisplay();
+    }
+
+    @Override 
+    protected void onPause() {
+        super.onPause();
+        unregisterReceiver(mIntentReceiver);
+        getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);
+    }
+    
+    private void updateTimeAndDateDisplay() {
+        java.text.DateFormat shortDateFormat = DateFormat.getDateFormat(this);
+        Date now = Calendar.getInstance().getTime();
+        Date dummyDate = mDummyDate.getTime();
+        mTimePref.setSummary(DateFormat.getTimeFormat(this).format(now));
+        mTimeZone.setSummary(getTimeZoneText());
+        mDatePref.setSummary(shortDateFormat.format(now));
+        mDateFormat.setSummary(shortDateFormat.format(dummyDate));
+    }
+
+    public void onDateSet(DatePicker view, int year, int month, int day) {
+        Calendar c = Calendar.getInstance();
+
+        c.set(Calendar.YEAR, year);
+        c.set(Calendar.MONTH, month);
+        c.set(Calendar.DAY_OF_MONTH, day);
+        long when = c.getTimeInMillis();
+
+        if (when / 1000 < Integer.MAX_VALUE) {
+            SystemClock.setCurrentTimeMillis(when);
+        }
+        updateTimeAndDateDisplay();
+    }
+
+    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
+        Calendar c = Calendar.getInstance();
+
+        c.set(Calendar.HOUR_OF_DAY, hourOfDay);
+        c.set(Calendar.MINUTE, minute);
+        long when = c.getTimeInMillis();
+
+        if (when / 1000 < Integer.MAX_VALUE) {
+            SystemClock.setCurrentTimeMillis(when);
+        }
+        updateTimeAndDateDisplay();
+        
+        // We don't need to call timeUpdated() here because the TIME_CHANGED
+        // broadcast is sent by the AlarmManager as a side effect of setting the
+        // SystemClock time.
+    }
+
+    public void onSharedPreferenceChanged(SharedPreferences preferences, String key) {
+        if (key.equals(KEY_DATE_FORMAT)) {
+            String format = preferences.getString(key, 
+                    getResources().getString(R.string.default_date_format));
+            Settings.System.putString(getContentResolver(), 
+                    Settings.System.DATE_FORMAT, format);
+            updateTimeAndDateDisplay();
+        } else if (key.equals(KEY_AUTO_TIME)) {
+            boolean autoEnabled = preferences.getBoolean(key, true);
+            Settings.System.putInt(getContentResolver(), 
+                    Settings.System.AUTO_TIME, 
+                    autoEnabled ? 1 : 0);
+            mTimePref.setEnabled(!autoEnabled);
+            mDatePref.setEnabled(!autoEnabled);
+            mTimeZone.setEnabled(!autoEnabled);
+        }
+    }
+
+    @Override
+    public Dialog onCreateDialog(int id) {
+        Dialog d;
+
+        switch (id) {
+        case DIALOG_DATEPICKER: {
+            final Calendar calendar = Calendar.getInstance();
+            d = new DatePickerDialog(
+                this,
+                this,
+                calendar.get(Calendar.YEAR),
+                calendar.get(Calendar.MONTH),
+                calendar.get(Calendar.DAY_OF_MONTH));
+            d.setTitle(getResources().getString(R.string.date_time_changeDate_text));
+            break;
+        }
+        case DIALOG_TIMEPICKER: {
+            final Calendar calendar = Calendar.getInstance();
+            d = new TimePickerDialog(
+                    this,
+                    this,
+                    calendar.get(Calendar.HOUR_OF_DAY),
+                    calendar.get(Calendar.MINUTE),
+                    DateFormat.is24HourFormat(this));
+            d.setTitle(getResources().getString(R.string.date_time_changeTime_text));
+            break;
+        }
+        default:
+            d = null;
+            break;
+        }
+
+        return d;
+    }
+
+    @Override
+    public void onPrepareDialog(int id, Dialog d) {
+        switch (id) {
+        case DIALOG_DATEPICKER: {
+            DatePickerDialog datePicker = (DatePickerDialog)d;
+            final Calendar calendar = Calendar.getInstance();
+            datePicker.updateDate(
+                    calendar.get(Calendar.YEAR),
+                    calendar.get(Calendar.MONTH),
+                    calendar.get(Calendar.DAY_OF_MONTH));
+            break;
+        }
+        case DIALOG_TIMEPICKER: {
+            TimePickerDialog timePicker = (TimePickerDialog)d;
+            final Calendar calendar = Calendar.getInstance();
+            timePicker.updateTime(
+                    calendar.get(Calendar.HOUR_OF_DAY),
+                    calendar.get(Calendar.MINUTE));
+            break;
+        }
+        default:
+            break;
+        }
+    }
+    
+    @Override
+    public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
+        if (preference == mDatePref) {
+            showDialog(DIALOG_DATEPICKER);
+        } else if (preference == mTimePref) {
+            // The 24-hour mode may have changed, so recreate the dialog
+            removeDialog(DIALOG_TIMEPICKER);
+            showDialog(DIALOG_TIMEPICKER);
+        } else if (preference == mTime24Pref) {
+            set24Hour(((CheckBoxPreference)mTime24Pref).isChecked());
+            updateTimeAndDateDisplay();
+            timeUpdated();
+        } else if (preference == mTimeZone) {
+            Intent intent = new Intent();
+            intent.setClass(this, ZoneList.class);
+            startActivityForResult(intent, 0);
+        }
+        return false;
+    }
+    
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode,
+            Intent data) {
+        updateTimeAndDateDisplay();
+    }
+    
+    private void timeUpdated() {
+        Intent timeChanged = new Intent(Intent.ACTION_TIME_CHANGED);
+        sendBroadcast(timeChanged);
+    }
+    
+    /*  Get & Set values from the system settings  */
+    
+    private boolean is24Hour() {
+        return DateFormat.is24HourFormat(this);
+    }
+    
+    private void set24Hour(boolean is24Hour) {
+        Settings.System.putString(getContentResolver(),
+                Settings.System.TIME_12_24,
+                is24Hour? HOURS_24 : HOURS_12);
+    }
+    
+    private String getDateFormat() {
+        return Settings.System.getString(getContentResolver(), 
+                Settings.System.DATE_FORMAT);
+    }
+    
+    private boolean getAutoState() {
+        try {
+            return Settings.System.getInt(getContentResolver(), 
+                Settings.System.AUTO_TIME) > 0;            
+        } catch (SettingNotFoundException snfe) {
+            return true;
+        }
+    }
+
+    private void setDateFormat(String format) {
+        if (format.length() == 0) {
+            format = null;
+        }
+
+        Settings.System.putString(getContentResolver(), Settings.System.DATE_FORMAT, format);        
+    }
+    
+    /*  Helper routines to format timezone */
+    
+    private String getTimeZoneText() {
+        TimeZone    tz = java.util.Calendar.getInstance().getTimeZone();
+        boolean daylight = tz.inDaylightTime(new Date());
+        StringBuilder sb = new StringBuilder();
+
+        sb.append(formatOffset(tz.getRawOffset() +
+                               (daylight ? tz.getDSTSavings() : 0))).
+            append(", ").
+            append(tz.getDisplayName(daylight, TimeZone.LONG));
+
+        return sb.toString();        
+    }
+
+    private char[] formatOffset(int off) {
+        off = off / 1000 / 60;
+
+        char[] buf = new char[9];
+        buf[0] = 'G';
+        buf[1] = 'M';
+        buf[2] = 'T';
+
+        if (off < 0) {
+            buf[3] = '-';
+            off = -off;
+        } else {
+            buf[3] = '+';
+        }
+
+        int hours = off / 60; 
+        int minutes = off % 60;
+
+        buf[4] = (char) ('0' + hours / 10);
+        buf[5] = (char) ('0' + hours % 10);
+
+        buf[6] = ':';
+
+        buf[7] = (char) ('0' + minutes / 10);
+        buf[8] = (char) ('0' + minutes % 10);
+
+        return buf;
+    }
+    
+    private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            updateTimeAndDateDisplay();
+        }
+    };
+}
diff --git a/src/com/android/settings/DateTimeSettingsSetupWizard.java b/src/com/android/settings/DateTimeSettingsSetupWizard.java
index a6a60c1..262a536 100644
--- a/src/com/android/settings/DateTimeSettingsSetupWizard.java
+++ b/src/com/android/settings/DateTimeSettingsSetupWizard.java
@@ -21,7 +21,7 @@
 import android.view.Window;
 import android.view.View.OnClickListener;
 
-public class DateTimeSettingsSetupWizard extends DateTimeSettings implements OnClickListener {
+public class DateTimeSettingsSetupWizard extends DateTimeSettingsActivity implements OnClickListener {
     private View mNextButton;
     
     @Override
diff --git a/src/com/android/settings/DeviceInfoSettings.java b/src/com/android/settings/DeviceInfoSettings.java
index 048d10a..0d6549a 100644
--- a/src/com/android/settings/DeviceInfoSettings.java
+++ b/src/com/android/settings/DeviceInfoSettings.java
@@ -16,17 +16,16 @@
 
 package com.android.settings;
 
+import android.app.Activity;
 import android.content.Intent;
 import android.os.Build;
 import android.os.Bundle;
 import android.os.SystemClock;
 import android.os.SystemProperties;
 import android.preference.Preference;
-import android.preference.PreferenceActivity;
 import android.preference.PreferenceGroup;
 import android.preference.PreferenceScreen;
 import android.util.Log;
-import android.view.MotionEvent;
 
 import java.io.BufferedReader;
 import java.io.FileReader;
@@ -34,7 +33,7 @@
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-public class DeviceInfoSettings extends PreferenceActivity {
+public class DeviceInfoSettings extends SettingsPreferenceFragment {
     private static final String TAG = "DeviceInfoSettings";
 
     private static final String KEY_CONTAINER = "container";
@@ -49,7 +48,7 @@
     long[] mHits = new long[3];
     
     @Override
-    protected void onCreate(Bundle icicle) {
+    public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
         
         addPreferencesFromResource(R.xml.device_info_settings);
@@ -69,24 +68,24 @@
          * Settings is a generic app and should not contain any device-specific
          * info.
          */
-        
+        final Activity act = getActivity();
         // These are contained in the "container" preference group
         PreferenceGroup parentPreference = (PreferenceGroup) findPreference(KEY_CONTAINER);
-        Utils.updatePreferenceToSpecificActivityOrRemove(this, parentPreference, KEY_TERMS,
+        Utils.updatePreferenceToSpecificActivityOrRemove(act, parentPreference, KEY_TERMS,
                 Utils.UPDATE_PREFERENCE_FLAG_SET_TITLE_TO_MATCHING_ACTIVITY);
-        Utils.updatePreferenceToSpecificActivityOrRemove(this, parentPreference, KEY_LICENSE,
+        Utils.updatePreferenceToSpecificActivityOrRemove(act, parentPreference, KEY_LICENSE,
                 Utils.UPDATE_PREFERENCE_FLAG_SET_TITLE_TO_MATCHING_ACTIVITY);
-        Utils.updatePreferenceToSpecificActivityOrRemove(this, parentPreference, KEY_COPYRIGHT,
+        Utils.updatePreferenceToSpecificActivityOrRemove(act, parentPreference, KEY_COPYRIGHT,
                 Utils.UPDATE_PREFERENCE_FLAG_SET_TITLE_TO_MATCHING_ACTIVITY);
-        Utils.updatePreferenceToSpecificActivityOrRemove(this, parentPreference, KEY_TEAM,
+        Utils.updatePreferenceToSpecificActivityOrRemove(act, parentPreference, KEY_TEAM,
                 Utils.UPDATE_PREFERENCE_FLAG_SET_TITLE_TO_MATCHING_ACTIVITY);
         
         // These are contained by the root preference screen
         parentPreference = getPreferenceScreen();
-        Utils.updatePreferenceToSpecificActivityOrRemove(this, parentPreference,
+        Utils.updatePreferenceToSpecificActivityOrRemove(act, parentPreference,
                 KEY_SYSTEM_UPDATE_SETTINGS,
                 Utils.UPDATE_PREFERENCE_FLAG_SET_TITLE_TO_MATCHING_ACTIVITY);
-        Utils.updatePreferenceToSpecificActivityOrRemove(this, parentPreference, KEY_CONTRIBUTORS,
+        Utils.updatePreferenceToSpecificActivityOrRemove(act, parentPreference, KEY_CONTRIBUTORS,
                 Utils.UPDATE_PREFERENCE_FLAG_SET_TITLE_TO_MATCHING_ACTIVITY);
     }
     
diff --git a/src/com/android/settings/DisplaySettings.java b/src/com/android/settings/DisplaySettings.java
index fbb07c1..5945884 100644
--- a/src/com/android/settings/DisplaySettings.java
+++ b/src/com/android/settings/DisplaySettings.java
@@ -18,8 +18,6 @@
 
 import static android.provider.Settings.System.SCREEN_OFF_TIMEOUT;
 
-import java.util.ArrayList;
-
 import android.app.admin.DevicePolicyManager;
 import android.content.ContentResolver;
 import android.content.Context;
@@ -29,13 +27,14 @@
 import android.preference.CheckBoxPreference;
 import android.preference.ListPreference;
 import android.preference.Preference;
-import android.preference.PreferenceActivity;
 import android.preference.PreferenceScreen;
 import android.provider.Settings;
 import android.util.Log;
 import android.view.IWindowManager;
 
-public class DisplaySettings extends PreferenceActivity implements
+import java.util.ArrayList;
+
+public class DisplaySettings extends SettingsPreferenceFragment implements
         Preference.OnPreferenceChangeListener {
     private static final String TAG = "DisplaySettings";
 
@@ -53,9 +52,9 @@
     private IWindowManager mWindowManager;
 
     @Override
-    protected void onCreate(Bundle savedInstanceState) {
+    public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        ContentResolver resolver = getContentResolver();
+        ContentResolver resolver = getActivity().getContentResolver();
         mWindowManager = IWindowManager.Stub.asInterface(ServiceManager.getService("window"));
 
         addPreferencesFromResource(R.xml.display_settings);
@@ -75,7 +74,8 @@
 
     private void disableUnusableTimeouts(ListPreference screenTimeoutPreference) {
         final DevicePolicyManager dpm =
-            (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
+                (DevicePolicyManager) getActivity().getSystemService(
+                Context.DEVICE_POLICY_SERVICE);
         final long maxTimeout = dpm != null ? dpm.getMaximumTimeToLock(null) : 0;
         if (maxTimeout == 0) {
             return; // policy not enforced
@@ -109,7 +109,7 @@
     }
 
     @Override
-    protected void onResume() {
+    public void onResume() {
         super.onResume();
 
         updateState(true);
diff --git a/src/com/android/settings/DockSettings.java b/src/com/android/settings/DockSettings.java
index 0d46ce9..b368640 100644
--- a/src/com/android/settings/DockSettings.java
+++ b/src/com/android/settings/DockSettings.java
@@ -16,6 +16,8 @@
 
 package com.android.settings;
 
+import com.android.settings.bluetooth.DockEventReceiver;
+
 import android.app.AlertDialog;
 import android.app.Dialog;
 import android.bluetooth.BluetoothDevice;
@@ -27,13 +29,10 @@
 import android.os.Bundle;
 import android.preference.CheckBoxPreference;
 import android.preference.Preference;
-import android.preference.PreferenceActivity;
 import android.preference.PreferenceScreen;
 import android.provider.Settings;
 
-import com.android.settings.bluetooth.DockEventReceiver;
-
-public class DockSettings extends PreferenceActivity {
+public class DockSettings extends SettingsPreferenceFragment {
 
     private static final int DIALOG_NOT_DOCKED = 1;
     private static final String KEY_AUDIO_SETTINGS = "dock_audio";
@@ -52,7 +51,7 @@
     };
 
     @Override
-    protected void onCreate(Bundle savedInstanceState) {
+    public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         ContentResolver resolver = getContentResolver();
         addPreferencesFromResource(R.xml.dock_settings);
@@ -61,18 +60,18 @@
     }
 
     @Override
-    protected void onResume() {
+    public void onResume() {
         super.onResume();
 
         IntentFilter filter = new IntentFilter(Intent.ACTION_DOCK_EVENT);
-        registerReceiver(mReceiver, filter);
+        getActivity().registerReceiver(mReceiver, filter);
     }
 
     @Override
-    protected void onPause() {
+    public void onPause() {
         super.onPause();
 
-        unregisterReceiver(mReceiver);
+        getActivity().unregisterReceiver(mReceiver);
     }
 
     private void initDockSettings() {
@@ -120,7 +119,7 @@
             if (dockState != Intent.EXTRA_DOCK_STATE_UNDOCKED) {
                 // remove undocked dialog if currently showing.
                 try {
-                    dismissDialog(DIALOG_NOT_DOCKED);
+                    removeDialog(DIALOG_NOT_DOCKED);
                 } catch (IllegalArgumentException iae) {
                     // Maybe it was already dismissed
                 }
@@ -139,8 +138,8 @@
             } else {
                 Intent i = new Intent(mDockIntent);
                 i.setAction(DockEventReceiver.ACTION_DOCK_SHOW_UI);
-                i.setClass(this, DockEventReceiver.class);
-                sendBroadcast(i);
+                i.setClass(getActivity(), DockEventReceiver.class);
+                getActivity().sendBroadcast(i);
             }
         } else if (preference == mDockSounds) {
             Settings.System.putInt(getContentResolver(), Settings.System.DOCK_SOUNDS_ENABLED,
@@ -159,7 +158,7 @@
     }
 
     private Dialog createUndockedMessage() {
-        final AlertDialog.Builder ab = new AlertDialog.Builder(this);
+        final AlertDialog.Builder ab = new AlertDialog.Builder(getActivity());
         ab.setTitle(R.string.dock_not_found_title);
         ab.setMessage(R.string.dock_not_found_text);
         ab.setPositiveButton(android.R.string.ok, null);
diff --git a/src/com/android/settings/IconPreferenceScreen.java b/src/com/android/settings/IconPreferenceScreen.java
index 31abf0a..64fce29 100644
--- a/src/com/android/settings/IconPreferenceScreen.java
+++ b/src/com/android/settings/IconPreferenceScreen.java
@@ -22,13 +22,16 @@
 import android.preference.Preference;
 import android.util.AttributeSet;
 import android.view.View;
-import android.view.ViewGroup;
 import android.widget.ImageView;
+import android.widget.TextView;
 
 public class IconPreferenceScreen extends Preference {
 
     private Drawable mIcon;
 
+    // Whether or not the text and icon should be highlighted (as selected)
+    private boolean mHighlight;
+
     public IconPreferenceScreen(Context context, AttributeSet attrs) {
         this(context, attrs, 0);
     }
@@ -48,6 +51,7 @@
         if (imageView != null && mIcon != null) {
             imageView.setImageDrawable(mIcon);
         }
+        TextView textView = (TextView) view.findViewById(android.R.id.title);
     }
 
     /**
@@ -71,4 +75,9 @@
     public Drawable getIcon() {
         return mIcon;
     }
+
+    public void setHighlighted(boolean highlight) {
+        mHighlight = highlight;
+        notifyChanged();
+    }
 }
diff --git a/src/com/android/settings/LanguageSettings.java b/src/com/android/settings/LanguageSettings.java
index 1252eec..2e5588d 100644
--- a/src/com/android/settings/LanguageSettings.java
+++ b/src/com/android/settings/LanguageSettings.java
@@ -16,24 +16,21 @@
 
 package com.android.settings;
 
+import android.app.Activity;
 import android.app.AlertDialog;
-import android.app.Dialog;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
 import android.content.res.Configuration;
 import android.os.Bundle;
-import android.os.Environment;
-import android.os.SystemProperties;
 import android.preference.CheckBoxPreference;
 import android.preference.Preference;
-import android.preference.PreferenceActivity;
 import android.preference.PreferenceGroup;
 import android.preference.PreferenceScreen;
 import android.provider.Settings;
 import android.text.TextUtils;
-import android.view.View.OnClickListener;
+import android.util.Log;
 import android.view.inputmethod.InputMethodInfo;
 import android.view.inputmethod.InputMethodManager;
 
@@ -41,9 +38,12 @@
 import java.util.HashSet;
 import java.util.List;
 
-public class LanguageSettings extends PreferenceActivity {
-    
+public class LanguageSettings extends SettingsPreferenceFragment {
+    private static final String TAG = LanguageSettings.class.getSimpleName();
+
     private static final String KEY_PHONE_LANGUAGE = "phone_language";
+    private static final String KEY_INPUT_METHOD = "input_method";
+
     private boolean mHaveHardKeyboard;
 
     private List<InputMethodInfo> mInputMethodProperties;
@@ -63,12 +63,12 @@
     }
 
     @Override
-    protected void onCreate(Bundle icicle) {
+    public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
 
         addPreferencesFromResource(R.xml.language_settings);
 
-        if (getAssets().getLocales().length == 1) {
+        if (getActivity().getAssets().getLocales().length == 1) {
             getPreferenceScreen().
                 removePreference(findPreference("language_category"));
         } else {
@@ -107,12 +107,12 @@
             InputMethodInfo property = mInputMethodProperties.get(i);
             String prefKey = property.getId();
 
-            CharSequence label = property.loadLabel(getPackageManager());
+            CharSequence label = property.loadLabel(getActivity().getPackageManager());
             boolean systemIME = isSystemIme(property);
             // Add a check box.
             // Don't show the toggle if it's the only keyboard in the system, or it's a system IME.
             if (mHaveHardKeyboard || (N > 1 && !systemIME)) {
-                CheckBoxPreference chkbxPref = new CheckBoxPreference(this);
+                CheckBoxPreference chkbxPref = new CheckBoxPreference(getActivity());
                 chkbxPref.setKey(prefKey);
                 chkbxPref.setTitle(label);
                 textCategory.addPreference(chkbxPref);
@@ -121,7 +121,7 @@
 
             // If setting activity is available, add a setting screen entry.
             if (null != property.getSettingsActivity()) {
-                PreferenceScreen prefScreen = new PreferenceScreen(this, null);
+                PreferenceScreen prefScreen = new PreferenceScreen(getActivity(), null);
                 String settingsActivity = property.getSettingsActivity();
                 if (settingsActivity.lastIndexOf("/") < 0) {
                     settingsActivity = property.getPackageName() + "/" + settingsActivity;
@@ -129,7 +129,8 @@
                 prefScreen.setKey(settingsActivity);
                 prefScreen.setTitle(label);
                 if (N == 1) {
-                    prefScreen.setSummary(getString(R.string.onscreen_keyboard_settings_summary));
+                    prefScreen.setSummary(getResources().getString(
+                            R.string.onscreen_keyboard_settings_summary));
                 } else {
                     CharSequence settingsLabel = getResources().getString(
                             R.string.input_methods_settings_label_format, label);
@@ -141,7 +142,7 @@
     }
 
     @Override
-    protected void onResume() {
+    public void onResume() {
         super.onResume();
 
         final HashSet<String> enabled = new HashSet<String>();
@@ -178,7 +179,7 @@
     }
 
     @Override
-    protected void onPause() {
+    public void onPause() {
         super.onPause();
 
         StringBuilder builder = new StringBuilder(256);
@@ -235,6 +236,15 @@
         if (Utils.isMonkeyRunning()) {
             return false;
         }
+        final String fragmentClass = preference.getFragment();
+        if (fragmentClass != null) {
+            final Activity activity = getActivity();
+            if (activity instanceof com.android.settings.Settings) {
+                return ((com.android.settings.Settings) activity).showFragment(preference);
+            } else {
+                Log.w(TAG, "Fragment is available while the parent is not Settings Activity.");
+            }
+        }
 
         if (preference instanceof CheckBoxPreference) {
             final CheckBoxPreference chkPref = (CheckBoxPreference) preference;
@@ -258,7 +268,8 @@
                     return super.onPreferenceTreeClick(preferenceScreen, preference);
                 }
                 if (mDialog == null) {
-                    mDialog = (new AlertDialog.Builder(this))
+                    // TODO: DialogFragment?
+                    mDialog = (new AlertDialog.Builder(getActivity()))
                             .setTitle(android.R.string.dialog_alert_title)
                             .setIcon(android.R.drawable.ic_dialog_alert)
                             .setCancelable(true)
@@ -282,15 +293,18 @@
                         mDialog.dismiss();
                     }
                 }
-                mDialog.setMessage(getString(R.string.ime_security_warning,
-                        selImi.getServiceInfo().applicationInfo.loadLabel(
-                                getPackageManager())));
+                mDialog.setMessage(getResources().getString(
+                        R.string.ime_security_warning,
+                        selImi.getServiceInfo().applicationInfo.loadLabel(getPackageManager())));
                 mDialog.show();
             } else if (id.equals(mLastTickedInputMethodId)) {
                 mLastTickedInputMethodId = null;
             }
         } else if (preference instanceof PreferenceScreen) {
-            if (preference.getIntent() == null) {
+            if (KEY_INPUT_METHOD.equals(preference.getKey())) {
+                InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
+                imm.showInputMethodPicker();
+            } else if (preference.getIntent() == null) {
                 PreferenceScreen pref = (PreferenceScreen) preference;
                 String activityName = pref.getKey();
                 String packageName = activityName.substring(0, activityName
@@ -311,7 +325,7 @@
     }
 
     @Override
-    protected void onDestroy() {
+    public void onDestroy() {
         super.onDestroy();
         if (mDialog != null) {
             mDialog.dismiss();
diff --git a/src/com/android/settings/LocalePicker.java b/src/com/android/settings/LocalePicker.java
index dcd6141..65c738a 100644
--- a/src/com/android/settings/LocalePicker.java
+++ b/src/com/android/settings/LocalePicker.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 The Android Open Source Project
+ * 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.
@@ -16,26 +16,25 @@
 
 package com.android.settings;
 
+import android.app.Activity;
 import android.app.ActivityManagerNative;
 import android.app.IActivityManager;
-import android.app.ListActivity;
+import android.app.ListFragment;
 import android.app.backup.BackupManager;
 import android.content.res.Configuration;
+import android.content.res.Resources;
 import android.os.Bundle;
 import android.os.RemoteException;
-import android.os.SystemProperties;
 import android.util.Log;
 import android.view.View;
 import android.widget.ArrayAdapter;
 import android.widget.ListView;
 
-import java.io.BufferedWriter;
-import java.io.FileOutputStream;
 import java.text.Collator;
 import java.util.Arrays;
 import java.util.Locale;
 
-public class LocalePicker extends ListActivity {
+public class LocalePicker extends ListFragment {
     private static final String TAG = "LocalePicker";
     private static final boolean DEBUG = false;
 
@@ -43,7 +42,9 @@
     String[] mSpecialLocaleCodes;
     String[] mSpecialLocaleNames;
 
-    private static class Loc implements Comparable {
+    Activity mActivity;
+
+    private static class Loc implements Comparable<Loc> {
         static Collator sCollator = Collator.getInstance();
 
         String label;
@@ -59,26 +60,19 @@
             return this.label;
         }
 
-        public int compareTo(Object o) {
-            return sCollator.compare(this.label, ((Loc) o).label);
+        @Override
+        public int compareTo(Loc another) {
+            return sCollator.compare(this.label, another.label);
         }
     }
 
-    int getContentView() {
-        return R.layout.locale_picker;
-    }
-    
-    @Override
-    public void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-        setContentView(getContentView());
+    private void setUpLocaleList() {
+        final Resources resources = mActivity.getResources();
+        mSpecialLocaleCodes = resources.getStringArray(R.array.special_locale_codes);
+        mSpecialLocaleNames = resources.getStringArray(R.array.special_locale_names);
 
-        mSpecialLocaleCodes = getResources().getStringArray(R.array.special_locale_codes);
-        mSpecialLocaleNames = getResources().getStringArray(R.array.special_locale_names);
-
-        String[] locales = getAssets().getLocales();
+        final String[] locales = mActivity.getAssets().getLocales();
         Arrays.sort(locales);
-
         final int origSize = locales.length;
         Loc[] preprocess = new Loc[origSize];
         int finalSize = 0;
@@ -135,11 +129,18 @@
             mLocales[i] = preprocess[i];
         }
         Arrays.sort(mLocales);
-        int layoutId = R.layout.locale_picker_item;
-        int fieldId = R.id.locale;
-        ArrayAdapter<Loc> adapter =
-                new ArrayAdapter<Loc>(this, layoutId, fieldId, mLocales);
-        getListView().setAdapter(adapter);
+        final int layoutId = R.layout.locale_picker_item;
+        final int fieldId = R.id.locale;
+        final ArrayAdapter<Loc> adapter =
+                new ArrayAdapter<Loc>(mActivity, layoutId, fieldId, mLocales);
+        setListAdapter(adapter);
+    }
+
+    @Override
+    public void onActivityCreated(final Bundle savedInstanceState) {
+        super.onActivityCreated(savedInstanceState);
+        mActivity = getActivity();
+        setUpLocaleList();
     }
 
     private static String toTitleCase(String s) {
@@ -169,7 +170,7 @@
     }
 
     @Override
-    protected void onListItemClick(ListView l, View v, int position, long id) {
+    public void onListItemClick(ListView l, View v, int position, long id) {
         try {
             IActivityManager am = ActivityManagerNative.getDefault();
             Configuration config = am.getConfiguration();
@@ -186,6 +187,7 @@
         } catch (RemoteException e) {
             // Intentionally left blank
         }
-        finish();
+
+        mActivity.finish();
     }
-}
+}
\ No newline at end of file
diff --git a/src/com/android/settings/LocalePickerInSetupWizard.java b/src/com/android/settings/LocalePickerInSetupWizard.java
deleted file mode 100644
index b160e89..0000000
--- a/src/com/android/settings/LocalePickerInSetupWizard.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2007 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 android.app.ActivityManagerNative;
-import android.app.IActivityManager;
-import android.app.ListActivity;
-import android.content.res.Configuration;
-import android.os.Bundle;
-import android.os.RemoteException;
-import android.os.SystemProperties;
-import android.util.Log;
-import android.view.View;
-import android.widget.ArrayAdapter;
-import android.widget.ListView;
-
-import java.io.BufferedWriter;
-import java.io.FileOutputStream;
-import java.util.Arrays;
-import java.util.Locale;
-
-public class LocalePickerInSetupWizard extends LocalePicker {
-    
-    @Override 
-    int getContentView() {
-        return R.layout.locale_picker_in_setupwizard;
-    }
-
-}
diff --git a/src/com/android/settings/PrivacySettings.java b/src/com/android/settings/PrivacySettings.java
index 29deacf..826c9cf 100644
--- a/src/com/android/settings/PrivacySettings.java
+++ b/src/com/android/settings/PrivacySettings.java
@@ -22,23 +22,18 @@
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.DialogInterface;
-import android.content.SharedPreferences;
-import android.content.pm.PackageManager.NameNotFoundException;
 import android.os.Bundle;
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.preference.CheckBoxPreference;
 import android.preference.Preference;
-import android.preference.PreferenceActivity;
 import android.preference.PreferenceScreen;
 import android.provider.Settings;
-import android.text.method.LinkMovementMethod;
-import android.widget.TextView;
 
 /**
  * Gesture lock pattern settings.
  */
-public class PrivacySettings extends PreferenceActivity implements
+public class PrivacySettings extends SettingsPreferenceFragment implements
         DialogInterface.OnClickListener {
 
     // Vendor specific
@@ -54,7 +49,7 @@
     private int     mDialogType;
 
     @Override
-    protected void onCreate(Bundle savedInstanceState) {
+    public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         addPreferencesFromResource(R.xml.privacy_settings);
         final PreferenceScreen screen = getPreferenceScreen();
@@ -63,7 +58,8 @@
         mAutoRestore = (CheckBoxPreference) screen.findPreference(AUTO_RESTORE);
 
         // Vendor specific
-        if (getPackageManager().resolveContentProvider(GSETTINGS_PROVIDER, 0) == null) {
+        if (getActivity().getPackageManager().
+                resolveContentProvider(GSETTINGS_PROVIDER, 0) == null) {
             screen.removePreference(findPreference(BACKUP_CATEGORY));
         }
         updateToggles();
@@ -110,7 +106,8 @@
 
         mDialogType = DIALOG_ERASE_BACKUP;
         CharSequence msg = getResources().getText(R.string.backup_erase_dialog_message);
-        mConfirmDialog = new AlertDialog.Builder(this).setMessage(msg)
+        // TODO: DialogFragment?
+        mConfirmDialog = new AlertDialog.Builder(getActivity()).setMessage(msg)
                 .setTitle(R.string.backup_erase_dialog_title)
                 .setIcon(android.R.drawable.ic_dialog_alert)
                 .setPositiveButton(android.R.string.ok, this)
diff --git a/src/com/android/settings/ProxySelector.java b/src/com/android/settings/ProxySelector.java
index 66c81c6..9e19600 100644
--- a/src/com/android/settings/ProxySelector.java
+++ b/src/com/android/settings/ProxySelector.java
@@ -18,8 +18,10 @@
 
 import android.app.Activity;
 import android.app.AlertDialog;
+import android.app.admin.DevicePolicyManager;
 import android.app.Dialog;
 import android.content.ContentResolver;
+import android.content.Context;
 import android.content.Intent;
 import android.net.Proxy;
 import android.os.Bundle;
@@ -28,6 +30,7 @@
 import android.text.Spannable;
 import android.text.TextUtils;
 import android.util.Log;
+import android.view.LayoutInflater;
 import android.view.View;
 import android.view.View.OnClickListener;
 import android.view.View.OnFocusChangeListener;
@@ -62,16 +65,24 @@
 public class ProxySelector extends Activity
 {
     private final static String LOGTAG = "Settings";
+    private View mInitialView;
+    private LayoutInflater mInflater;
+    boolean mUserSetGlobalProxy;
 
     EditText    mHostnameField;
     EditText    mPortField;
+    EditText    mExclusionListField;
     Button      mOKButton;
+    DevicePolicyManager mDPM;
 
     // Matches blank input, ips, and domain names
     private static final String HOSTNAME_REGEXP = "^$|^[a-zA-Z0-9]+(\\-[a-zA-Z0-9]+)*(\\.[a-zA-Z0-9]+(\\-[a-zA-Z0-9]+)*)*$";
     private static final Pattern HOSTNAME_PATTERN;
+    private static final String EXCLLIST_REGEXP = "$|^(.?[a-zA-Z0-9]+(\\-[a-zA-Z0-9]+)*(\\.[a-zA-Z0-9]+(\\-[a-zA-Z0-9]+)*)*)+(,(.?[a-zA-Z0-9]+(\\-[a-zA-Z0-9]+)*(\\.[a-zA-Z0-9]+(\\-[a-zA-Z0-9]+)*)*))*$";
+    private static final Pattern EXCLLIST_PATTERN;
     static {
         HOSTNAME_PATTERN = Pattern.compile(HOSTNAME_REGEXP);
+        EXCLLIST_PATTERN = Pattern.compile(EXCLLIST_REGEXP);
     }
 
     private static final int ERROR_DIALOG_ID = 0;
@@ -81,8 +92,16 @@
 
         if (android.util.Config.LOGV) Log.v(LOGTAG, "[ProxySelector] onStart");
 
-        setContentView(R.layout.proxy);
+        mInflater = LayoutInflater.from(this);
+        if (mInitialView == null) {
+            mInitialView = mInflater.inflate(R.layout.proxy, null);
+        }
+        mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE);
+        mUserSetGlobalProxy = (mDPM.getGlobalProxyAdmin() == null);
+
+        setContentView(mInitialView);
         initView();
+        // TODO: Populate based on connection status
         populateFields(false);
     }
 
@@ -91,7 +110,8 @@
         if (id == ERROR_DIALOG_ID) {
             String hostname = mHostnameField.getText().toString().trim();
             String portStr = mPortField.getText().toString().trim();
-            String msg = getString(validate(hostname, portStr));
+            String exclList = mExclusionListField.getText().toString().trim();
+            String msg = getString(validate(hostname, portStr, exclList));
 
             return new AlertDialog.Builder(this)
                     .setTitle(R.string.proxy_error)
@@ -109,7 +129,8 @@
         if (id == ERROR_DIALOG_ID) {
             String hostname = mHostnameField.getText().toString().trim();
             String portStr = mPortField.getText().toString().trim();
-            String msg = getString(validate(hostname, portStr));
+            String exclList = mExclusionListField.getText().toString().trim();
+            String msg = getString(validate(hostname, portStr, exclList));
             ((AlertDialog)dialog).setMessage(msg);
         }
     }
@@ -123,27 +144,41 @@
         mPortField.setOnClickListener(mOKHandler);
         mPortField.setOnFocusChangeListener(mOnFocusChangeHandler);
 
+        mExclusionListField = (EditText)findViewById(R.id.exclusionlist);
+        mExclusionListField.setOnFocusChangeListener(mOnFocusChangeHandler);
+
         mOKButton = (Button)findViewById(R.id.action);
         mOKButton.setOnClickListener(mOKHandler);
 
-        Button b = (Button)findViewById(R.id.clear);
-        b.setOnClickListener(mClearHandler);
+        Button clearButton = (Button)findViewById(R.id.clear);
+        clearButton.setOnClickListener(mClearHandler);
 
-        b = (Button)findViewById(R.id.defaultView);
-        b.setOnClickListener(mDefaultHandler);
-    }
+        Button defButton = (Button)findViewById(R.id.defaultView);
+        defButton.setOnClickListener(mDefaultHandler);
+
+        // Disable UI if the Global Proxy is being controlled by a Device Admin
+        mHostnameField.setEnabled(mUserSetGlobalProxy);
+        mPortField.setEnabled(mUserSetGlobalProxy);
+        mExclusionListField.setEnabled(mUserSetGlobalProxy);
+        mOKButton.setEnabled(mUserSetGlobalProxy);
+        clearButton.setEnabled(mUserSetGlobalProxy);
+        defButton.setEnabled(mUserSetGlobalProxy);
+}
 
     void populateFields(boolean useDefault) {
         String hostname = null;
         int port = -1;
+        String exclList = null;
         if (useDefault) {
             // Use the default proxy settings provided by the carrier
             hostname = Proxy.getDefaultHost();
             port = Proxy.getDefaultPort();
         } else {
             // Use the last setting given by the user
+            ContentResolver res = getContentResolver();
             hostname = Proxy.getHost(this);
             port = Proxy.getPort(this);
+            exclList = Settings.Secure.getString(res, Settings.Secure.HTTP_PROXY_EXCLUSION_LIST);
         }
 
         if (hostname == null) {
@@ -155,6 +190,8 @@
         String portStr = port == -1 ? "" : Integer.toString(port);
         mPortField.setText(portStr);
 
+        mExclusionListField.setText(exclList);
+
         Intent intent = getIntent();
 
         String buttonLabel = intent.getStringExtra("button-label");
@@ -172,11 +209,14 @@
      * validate syntax of hostname and port entries
      * @return 0 on success, string resource ID on failure
      */
-    int validate(String hostname, String port) {
+    int validate(String hostname, String port, String exclList) {
         Matcher match = HOSTNAME_PATTERN.matcher(hostname);
+        Matcher listMatch = EXCLLIST_PATTERN.matcher(exclList);
 
         if (!match.matches()) return R.string.proxy_error_invalid_host;
 
+        if (!listMatch.matches()) return R.string.proxy_error_invalid_exclusion_list;
+
         if (hostname.length() > 0 && port.length() == 0) {
             return R.string.proxy_error_empty_port;
         }
@@ -205,9 +245,10 @@
 
         String hostname = mHostnameField.getText().toString().trim();
         String portStr = mPortField.getText().toString().trim();
+        String exclList = mExclusionListField.getText().toString().trim();
         int port = -1;
 
-        int result = validate(hostname, portStr);
+        int result = validate(hostname, portStr, exclList);
         if (result > 0) {
             showDialog(ERROR_DIALOG_ID);
             return false;
@@ -244,6 +285,7 @@
             hostname += ':' + portStr;
         }
         Settings.Secure.putString(res, Settings.Secure.HTTP_PROXY, hostname);
+        Settings.Secure.putString(res, Settings.Secure.HTTP_PROXY_EXCLUSION_LIST, exclList);
         sendBroadcast(new Intent(Proxy.PROXY_CHANGE_ACTION));
 
         return true;
@@ -261,12 +303,14 @@
             public void onClick(View v) {
                 mHostnameField.setText("");
                 mPortField.setText("");
+                mExclusionListField.setText("");
             }
         };
 
     OnClickListener mDefaultHandler = new OnClickListener() {
             public void onClick(View v) {
-                populateFields(true);
+                // TODO: populate based on connection status
+                populateFields(false);
             }
         };
 
diff --git a/src/com/android/settings/RadioInfo.java b/src/com/android/settings/RadioInfo.java
index f0fcdd7..fd643cd 100644
--- a/src/com/android/settings/RadioInfo.java
+++ b/src/com/android/settings/RadioInfo.java
@@ -17,13 +17,11 @@
 package com.android.settings;
 
 import android.app.Activity;
-import android.app.AlertDialog;
-import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
-import android.content.SharedPreferences;
 import android.content.res.Resources;
+import android.net.LinkProperties;
 import android.net.Uri;
 import android.os.AsyncResult;
 import android.os.Bundle;
@@ -33,7 +31,6 @@
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.os.SystemProperties;
-import android.preference.PreferenceManager;
 import android.telephony.CellLocation;
 import android.telephony.PhoneStateListener;
 import android.telephony.ServiceState;
@@ -66,9 +63,8 @@
 import org.apache.http.client.methods.HttpGet;
 import org.apache.http.impl.client.DefaultHttpClient;
 
-import java.io.ByteArrayOutputStream;
-import java.io.DataOutputStream;
 import java.io.IOException;
+import java.net.InetAddress;
 import java.net.UnknownHostException;
 import java.util.ArrayList;
 import java.util.List;
@@ -760,7 +756,7 @@
         List<DataConnection> dcs = phone.getCurrentDataConnectionList();
 
         for (DataConnection dc : dcs) {
-            sb.append("    State: ").append(dc.getStateAsString()).append("\n");
+            sb.append("    State=").append(dc.getStateAsString()).append("\n");
             if (dc.isActive()) {
                 long timeElapsed =
                     (System.currentTimeMillis() - dc.getConnectionTime())/1000;
@@ -774,16 +770,8 @@
                     sb.append("\n    to ")
                       .append(pdp.getApn().toString());
                 }
-                sb.append("\ninterface: ")
-                  .append(phone.getInterfaceName(phone.getActiveApnTypes()[0]))
-                  .append("\naddress: ")
-                  .append(phone.getIpAddress(phone.getActiveApnTypes()[0]))
-                  .append("\ngateway: ")
-                  .append(phone.getGateway(phone.getActiveApnTypes()[0]));
-                String[] dns = phone.getDnsServers(phone.getActiveApnTypes()[0]);
-                if (dns != null) {
-                    sb.append("\ndns: ").append(dns[0]).append(", ").append(dns[1]);
-                }
+                sb.append("\nLinkProperties: ");
+                sb.append(phone.getLinkProperties(phone.getActiveApnTypes()[0]).toString());
             } else if (dc.isInactive()) {
                 sb.append("    disconnected with last try at ")
                   .append(DateUtils.timeString(dc.getLastFailTime()))
@@ -801,7 +789,6 @@
             sb.append("\n===================");
         }
 
-
         disconnects.setText(sb.toString());
     }
 
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java
index 454ea60..e618448 100644
--- a/src/com/android/settings/SecuritySettings.java
+++ b/src/com/android/settings/SecuritySettings.java
@@ -17,8 +17,7 @@
 package com.android.settings;
 
 
-import java.util.Observable;
-import java.util.Observer;
+import com.android.internal.widget.LockPatternUtils;
 
 import android.app.AlertDialog;
 import android.app.Dialog;
@@ -34,7 +33,6 @@
 import android.os.SystemProperties;
 import android.preference.CheckBoxPreference;
 import android.preference.Preference;
-import android.preference.PreferenceActivity;
 import android.preference.PreferenceCategory;
 import android.preference.PreferenceManager;
 import android.preference.PreferenceScreen;
@@ -46,12 +44,13 @@
 import android.widget.TextView;
 import android.widget.Toast;
 
-import com.android.internal.widget.LockPatternUtils;
+import java.util.Observable;
+import java.util.Observer;
 
 /**
  * Gesture lock pattern settings.
  */
-public class SecuritySettings extends PreferenceActivity {
+public class SecuritySettings extends SettingsPreferenceFragment {
     private static final String KEY_UNLOCK_SET_OR_CHANGE = "unlock_set_or_change";
 
     // Lock Settings
@@ -102,14 +101,14 @@
     }
 
     @Override
-    protected void onCreate(Bundle savedInstanceState) {
+    public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
-        mLockPatternUtils = new LockPatternUtils(this);
+        mLockPatternUtils = new LockPatternUtils(getActivity());
 
         mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE);
 
-        mChooseLockSettingsHelper = new ChooseLockSettingsHelper(this);
+        mChooseLockSettingsHelper = new ChooseLockSettingsHelper(getActivity());
 
         createPreferenceHierarchy();
 
@@ -151,6 +150,7 @@
                     break;
                 case DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC:
                 case DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC:
+                case DevicePolicyManager.PASSWORD_QUALITY_COMPLEX:
                     addPreferencesFromResource(R.xml.security_settings_password);
                     break;
             }
@@ -171,22 +171,22 @@
         if (TelephonyManager.PHONE_TYPE_CDMA != activePhoneType)
         {
             PreferenceScreen simLockPreferences = getPreferenceManager()
-                    .createPreferenceScreen(this);
+                    .createPreferenceScreen(getActivity());
             simLockPreferences.setTitle(R.string.sim_lock_settings_category);
             // Intent to launch SIM lock settings
             simLockPreferences.setIntent(new Intent().setClassName(PACKAGE, ICC_LOCK_SETTINGS));
-            PreferenceCategory simLockCat = new PreferenceCategory(this);
+            PreferenceCategory simLockCat = new PreferenceCategory(getActivity());
             simLockCat.setTitle(R.string.sim_lock_settings_title);
             root.addPreference(simLockCat);
             simLockCat.addPreference(simLockPreferences);
         }
 
         // Passwords
-        PreferenceCategory passwordsCat = new PreferenceCategory(this);
+        PreferenceCategory passwordsCat = new PreferenceCategory(getActivity());
         passwordsCat.setTitle(R.string.security_passwords_title);
         root.addPreference(passwordsCat);
 
-        CheckBoxPreference showPassword = mShowPassword = new CheckBoxPreference(this);
+        CheckBoxPreference showPassword = mShowPassword = new CheckBoxPreference(getActivity());
         showPassword.setKey("show_password");
         showPassword.setTitle(R.string.show_password);
         showPassword.setSummary(R.string.show_password_summary);
@@ -194,26 +194,26 @@
         passwordsCat.addPreference(showPassword);
 
         // Device policies
-        PreferenceCategory devicePoliciesCat = new PreferenceCategory(this);
+        PreferenceCategory devicePoliciesCat = new PreferenceCategory(getActivity());
         devicePoliciesCat.setTitle(R.string.device_admin_title);
         root.addPreference(devicePoliciesCat);
 
-        Preference deviceAdminButton = new Preference(this);
+        Preference deviceAdminButton = new Preference(getActivity());
         deviceAdminButton.setTitle(R.string.manage_device_admin);
         deviceAdminButton.setSummary(R.string.manage_device_admin_summary);
         Intent deviceAdminIntent = new Intent();
-        deviceAdminIntent.setClass(this, DeviceAdminSettings.class);
+        deviceAdminIntent.setClass(getActivity(), DeviceAdminSettings.class);
         deviceAdminButton.setIntent(deviceAdminIntent);
         devicePoliciesCat.addPreference(deviceAdminButton);
 
         // Credential storage
-        PreferenceCategory credentialsCat = new PreferenceCategory(this);
+        PreferenceCategory credentialsCat = new PreferenceCategory(getActivity());
         credentialsCat.setTitle(R.string.credentials_category);
         root.addPreference(credentialsCat);
         mCredentialStorage.createPreferences(credentialsCat, CredentialStorage.TYPE_KEYSTORE);
 
         // File System Encryption
-        PreferenceCategory encryptedfsCat = new PreferenceCategory(this);
+        PreferenceCategory encryptedfsCat = new PreferenceCategory(getActivity());
         encryptedfsCat.setTitle(R.string.encrypted_fs_category);
         //root.addPreference(encryptedfsCat);
         mCredentialStorage.createPreferences(encryptedfsCat, CredentialStorage.TYPE_ENCRYPTEDFS);
@@ -221,7 +221,7 @@
     }
 
     @Override
-    protected void onResume() {
+    public void onResume() {
         super.onResume();
 
         final LockPatternUtils lockPatternUtils = mChooseLockSettingsHelper.utils();
@@ -245,7 +245,7 @@
 
         final LockPatternUtils lockPatternUtils = mChooseLockSettingsHelper.utils();
         if (KEY_UNLOCK_SET_OR_CHANGE.equals(key)) {
-            Intent intent = new Intent(this, ChooseLockGeneric.class);
+            Intent intent = new Intent(getActivity(), ChooseLockGeneric.class);
             startActivityForResult(intent, SET_OR_CHANGE_LOCK_METHOD_REQUEST);
         } else if (KEY_LOCK_ENABLED.equals(key)) {
             lockPatternUtils.setLockPatternEnabled(isToggled(preference));
@@ -299,7 +299,7 @@
      * @see #confirmPatternThenDisableAndClear
      */
     @Override
-    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+    public void onActivityResult(int requestCode, int resultCode, Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
         createPreferenceHierarchy();
     }
@@ -341,7 +341,7 @@
             mState = mKeyStore.test();
             updatePreferences(mState);
 
-            Intent intent = getIntent();
+            Intent intent = getActivity().getIntent();
             if (!mExternal && intent != null &&
                     Credentials.UNLOCK_ACTION.equals(intent.getAction())) {
                 mExternal = true;
@@ -350,7 +350,8 @@
                 } else if (mState == KeyStore.LOCKED) {
                     showUnlockDialog();
                 } else {
-                    finish();
+                    // TODO: Verify if this is the right way
+                    SecuritySettings.this.getFragmentManager().popBackStack();
                 }
             }
         }
@@ -398,7 +399,7 @@
 
         public boolean onPreferenceClick(Preference preference) {
             if (preference == mInstallButton) {
-                Credentials.getInstance().installFromSdCard(SecuritySettings.this);
+                Credentials.getInstance().installFromSdCard(SecuritySettings.this.getActivity());
             } else if (preference == mPasswordButton) {
                 showPasswordDialog();
             } else if (preference == mResetButton) {
@@ -419,11 +420,12 @@
                 if (button == DialogInterface.BUTTON_POSITIVE) {
                     Intent intent = new Intent("android.intent.action.MASTER_CLEAR");
                     intent.putExtra("enableEFS", mWillEnableEncryptedFS);
-                    sendBroadcast(intent);
+                    getActivity().sendBroadcast(intent);
                     updatePreferences(mState);
                 } else if (button == DialogInterface.BUTTON_NEGATIVE) {
                     // Cancel action
-                    Toast.makeText(SecuritySettings.this, R.string.encrypted_fs_cancel_confirm,
+                    Toast.makeText(SecuritySettings.this.getActivity(),
+                            R.string.encrypted_fs_cancel_confirm,
                             Toast.LENGTH_SHORT).show();
                     updatePreferences(mState);
                 } else {
@@ -434,7 +436,10 @@
         }
 
         public void onDismiss(DialogInterface dialog) {
-            if (mSubmit && !isFinishing()) {
+            // TODO:
+            //if (mSubmit && !isFinishing()) {
+
+            if (mSubmit) {
                 mSubmit = false;
                 if (!checkPassword((Dialog) dialog)) {
                     ((Dialog) dialog).show();
@@ -443,7 +448,8 @@
             }
             updatePreferences(mState);
             if (mExternal) {
-                finish();
+                // TODO:
+                // finish();
             }
         }
 
@@ -518,25 +524,25 @@
         private void createPreferences(PreferenceCategory category, int type) {
             switch(type) {
             case TYPE_KEYSTORE:
-                mAccessCheckBox = new CheckBoxPreference(SecuritySettings.this);
+                    mAccessCheckBox = new CheckBoxPreference(SecuritySettings.this.getActivity());
                 mAccessCheckBox.setTitle(R.string.credentials_access);
                 mAccessCheckBox.setSummary(R.string.credentials_access_summary);
                 mAccessCheckBox.setOnPreferenceChangeListener(this);
                 category.addPreference(mAccessCheckBox);
 
-                mInstallButton = new Preference(SecuritySettings.this);
+                    mInstallButton = new Preference(SecuritySettings.this.getActivity());
                 mInstallButton.setTitle(R.string.credentials_install_certificates);
                 mInstallButton.setSummary(R.string.credentials_install_certificates_summary);
                 mInstallButton.setOnPreferenceClickListener(this);
                 category.addPreference(mInstallButton);
 
-                mPasswordButton = new Preference(SecuritySettings.this);
+                    mPasswordButton = new Preference(SecuritySettings.this.getActivity());
                 mPasswordButton.setTitle(R.string.credentials_set_password);
                 mPasswordButton.setSummary(R.string.credentials_set_password_summary);
                 mPasswordButton.setOnPreferenceClickListener(this);
                 category.addPreference(mPasswordButton);
 
-                mResetButton = new Preference(SecuritySettings.this);
+                    mResetButton = new Preference(SecuritySettings.this.getActivity());
                 mResetButton.setTitle(R.string.credentials_reset);
                 mResetButton.setSummary(R.string.credentials_reset_summary);
                 mResetButton.setOnPreferenceClickListener(this);
@@ -544,7 +550,8 @@
                 break;
 
             case TYPE_ENCRYPTEDFS:
-                mEncryptedFSEnabled = new CheckBoxPreference(SecuritySettings.this);
+                    mEncryptedFSEnabled = new CheckBoxPreference(SecuritySettings.this
+                            .getActivity());
                 mEncryptedFSEnabled.setTitle(R.string.encrypted_fs_enable);
                 mEncryptedFSEnabled.setSummary(R.string.encrypted_fs_enable_summary);
                 mEncryptedFSEnabled.setOnPreferenceChangeListener(this);
@@ -567,20 +574,20 @@
             if (mState == state) {
                 return;
             } else if (state == KeyStore.NO_ERROR) {
-                Toast.makeText(SecuritySettings.this, R.string.credentials_enabled,
+                Toast.makeText(SecuritySettings.this.getActivity(), R.string.credentials_enabled,
                         Toast.LENGTH_SHORT).show();
             } else if (state == KeyStore.UNINITIALIZED) {
-                Toast.makeText(SecuritySettings.this, R.string.credentials_erased,
+                Toast.makeText(SecuritySettings.this.getActivity(), R.string.credentials_erased,
                         Toast.LENGTH_SHORT).show();
             } else if (state == KeyStore.LOCKED) {
-                Toast.makeText(SecuritySettings.this, R.string.credentials_disabled,
+                Toast.makeText(SecuritySettings.this.getActivity(), R.string.credentials_disabled,
                         Toast.LENGTH_SHORT).show();
             }
             mState = state;
         }
 
         private void showUnlockDialog() {
-            View view = View.inflate(SecuritySettings.this,
+            View view = View.inflate(SecuritySettings.this.getActivity(),
                     R.layout.credentials_unlock_dialog, null);
 
             // Show extra hint only when the action comes from outside.
@@ -588,7 +595,7 @@
                 view.findViewById(R.id.hint).setVisibility(View.VISIBLE);
             }
 
-            Dialog dialog = new AlertDialog.Builder(SecuritySettings.this)
+            Dialog dialog = new AlertDialog.Builder(SecuritySettings.this.getActivity())
                     .setView(view)
                     .setTitle(R.string.credentials_unlock)
                     .setPositiveButton(android.R.string.ok, this)
@@ -600,7 +607,7 @@
         }
 
         private void showPasswordDialog() {
-            View view = View.inflate(SecuritySettings.this,
+            View view = View.inflate(SecuritySettings.this.getActivity(),
                     R.layout.credentials_password_dialog, null);
 
             if (mState == KeyStore.UNINITIALIZED) {
@@ -610,7 +617,7 @@
                 view.findViewById(R.id.old_password).setVisibility(View.VISIBLE);
             }
 
-            Dialog dialog = new AlertDialog.Builder(SecuritySettings.this)
+            Dialog dialog = new AlertDialog.Builder(SecuritySettings.this.getActivity())
                     .setView(view)
                     .setTitle(R.string.credentials_set_password)
                     .setPositiveButton(android.R.string.ok, this)
@@ -623,17 +630,18 @@
 
         private void showResetDialog() {
             mShowingDialog = DLG_RESET;
-            new AlertDialog.Builder(SecuritySettings.this)
+            new AlertDialog.Builder(SecuritySettings.this.getActivity())
                     .setTitle(android.R.string.dialog_alert_title)
                     .setIcon(android.R.drawable.ic_dialog_alert)
                     .setMessage(R.string.credentials_reset_hint)
-                    .setNeutralButton(getString(android.R.string.ok), this)
-                    .setNegativeButton(getString(android.R.string.cancel), this)
+                    .setNeutralButton(getResources().getString(android.R.string.ok), this)
+                    .setNegativeButton(getResources().getString(android.R.string.cancel), this)
                     .create().show();
         }
 
         private void showSwitchEncryptedFSDialog() {
-            AlertDialog.Builder builder = new AlertDialog.Builder(SecuritySettings.this)
+            AlertDialog.Builder builder = new AlertDialog.Builder(SecuritySettings.this
+                    .getActivity())
                     .setCancelable(false)
                     .setTitle(R.string.encrypted_fs_alert_dialog_title);
 
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index a2816f8..460ca96 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -16,47 +16,239 @@
 
 package com.android.settings;
 
+import android.app.Activity;
+import android.app.Fragment;
+import android.app.Fragment.InstantiationException;
+import android.content.Intent;
 import android.os.Bundle;
 import android.preference.Preference;
-import android.preference.PreferenceActivity;
+import android.preference.PreferenceFragment;
 import android.preference.PreferenceGroup;
+import android.preference.PreferenceScreen;
+import android.text.TextUtils;
+import android.util.Log;
+import android.view.View;
 
-public class Settings extends PreferenceActivity {
+import java.util.ArrayList;
+
+/**
+ * Top-level settings activity to handle single pane and double pane UI layout.
+ */
+public class Settings extends Activity
+        implements PreferenceFragment.OnPreferenceStartFragmentCallback,
+        SettingsPreferenceFragment.OnStateListener {
+
+    private static final String TAG = "Settings";
 
     private static final String KEY_PARENT = "parent";
     private static final String KEY_CALL_SETTINGS = "call_settings";
     private static final String KEY_SYNC_SETTINGS = "sync_settings";
     private static final String KEY_SEARCH_SETTINGS = "search_settings";
     private static final String KEY_DOCK_SETTINGS = "dock_settings";
-    
+
     private static final String KEY_OPERATOR_SETTINGS = "operator_settings";
     private static final String KEY_MANUFACTURER_SETTINGS = "manufacturer_settings";
 
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        
-        addPreferencesFromResource(R.xml.settings);
+    public static final String EXTRA_SHOW_FRAGMENT = ":settings:show_fragment";
 
-        PreferenceGroup parent = (PreferenceGroup) findPreference(KEY_PARENT);
-        Utils.updatePreferenceToSpecificActivityOrRemove(this, parent, KEY_SYNC_SETTINGS, 0);
-        Utils.updatePreferenceToSpecificActivityOrRemove(this, parent, KEY_SEARCH_SETTINGS, 0);
+    public static final String EXTRA_SHOW_FRAGMENT_ARGUMENTS = ":settings:show_fragment_args";
 
-        Preference dockSettings = parent.findPreference(KEY_DOCK_SETTINGS);
-        if (getResources().getBoolean(R.bool.has_dock_settings) == false && dockSettings != null) {
-            parent.removePreference(dockSettings);
-        }
+    // Temporary, until all top-level settings are converted to fragments
+    private static final String BACK_STACK_PREFS = ":settings:prefs";
 
-        Utils.updatePreferenceToSpecificActivityFromMetaDataOrRemove(this, parent,
-                KEY_OPERATOR_SETTINGS);
-        Utils.updatePreferenceToSpecificActivityFromMetaDataOrRemove(this, parent,
-                KEY_MANUFACTURER_SETTINGS);
-    }
-    
+    private View mPrefsPane;
+    private View mMainPane;
+    private boolean mSinglePane;
+
+    private ArrayList<CharSequence> mTrail = new ArrayList<CharSequence>();
+
+    /*
     @Override
     protected void onResume() {
         super.onResume();
         findPreference(KEY_CALL_SETTINGS).setEnabled(!AirplaneModeEnabler.isAirplaneModeOn(this));
     }
+    */
 
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.settings_top_level);
+        mPrefsPane = findViewById(R.id.prefs);
+        mMainPane = findViewById(R.id.top_level);
+        mSinglePane = mMainPane == null;
+        if (mSinglePane) mMainPane = mPrefsPane;
+
+        final Intent intent = getIntent();
+        String initialFragment = intent.getStringExtra(EXTRA_SHOW_FRAGMENT);
+        Bundle initialArguments = intent.getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS);
+
+        if (mSinglePane) {
+            if (initialFragment != null) {
+                showFragment(initialFragment, initialArguments);
+            } else {
+                // Intent#getCompontent() lets us get Fragment name, even when the Intent is
+                // given via <activity-alias>.
+                //
+                // e.g. When we reach here via "ChildSetting" activity-alias,
+                // we should get the name here instead of targetActivity ("Settings").
+                if (intent.getComponent().getClassName().equals(this.getClass().getName())) {
+                    showFragment(TopLevelSettings.class.getName(), null);
+                } else {
+                    showFragment(intent.getComponent().getClassName(), intent.getExtras());
+                }
+            }
+        } else {
+            if (!intent.getComponent().getClassName().equals(this.getClass().getName())) {
+                if (showFragment(intent.getComponent().getClassName(), intent.getExtras())) {
+                    mMainPane.setVisibility(View.GONE);
+                }
+            } else {
+                Fragment topLevel = getFragmentManager().findFragmentById(R.id.top_level);
+                if (topLevel != null) {
+                    ((TopLevelSettings) topLevel).selectFirst();
+                }
+            }
+        }
+    }
+
+    boolean showFragment(Preference preference) {
+        if (mSinglePane) {
+            startWithFragment(preference.getFragment(), preference.getExtras());
+            return false;
+        } else {
+            return showFragment(preference.getFragment(), preference.getExtras());
+        }
+    }
+
+    private void startWithFragment(String fragmentName, Bundle args) {
+        Intent intent = new Intent(Intent.ACTION_MAIN);
+        intent.setClass(this, getClass());
+        intent.putExtra(EXTRA_SHOW_FRAGMENT, fragmentName);
+        intent.putExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS, args);
+        startActivity(intent);
+    }
+
+    private boolean showFragment(String fragmentClass, Bundle extras) {
+        try {
+            Fragment f = Fragment.instantiate(this, fragmentClass, extras);
+            if (f instanceof SettingsPreferenceFragment) {
+                ((SettingsPreferenceFragment) f).setOnStateListener(this);
+            }
+            getFragmentManager().openTransaction().replace(R.id.prefs, f).commit();
+            return true;
+        } catch (InstantiationException exc) {
+            Log.d(TAG, "Couldn't instantiate fragment " + fragmentClass);
+            return false;
+        }
+    }
+
+    private void addToBreadCrumbs(Fragment fragment) {
+        final CharSequence title = ((PreferenceFragment) fragment)
+                .getPreferenceScreen().getTitle();
+        if (mSinglePane) mTrail.clear();
+        if (mTrail.size() == 0 || !TextUtils.equals(title, mTrail.get(mTrail.size() - 1))) {
+            mTrail.add(title);
+            updateTitle();
+        }
+    }
+
+    private void removeFromBreadCrumbs(Fragment fragment) {
+        if (mTrail.size() > 0) {
+            mTrail.remove(mTrail.size() - 1);
+        }
+        updateTitle();
+    }
+
+    private void updateTitle() {
+        String trail = "";
+        for (CharSequence trailPart : mTrail) {
+            if (trail.length() != 0)
+                trail += " | ";
+            trail = trail + trailPart;
+        }
+        setTitle(trail);
+    }
+
+    public void onCreated(SettingsPreferenceFragment fragment) {
+        Log.d(TAG, "Fragment created " + fragment + " (name: " + fragment.getClass() + ")");
+        addToBreadCrumbs(fragment);
+    }
+
+    public void onDestroyed(SettingsPreferenceFragment fragment) {
+        removeFromBreadCrumbs(fragment);
+        Log.d(TAG, "Fragment destroyed " + fragment + " (name: " + fragment.getClass() + ")");
+    }
+
+    public boolean onPreferenceStartFragment(PreferenceFragment caller, Preference pref) {
+        Fragment f = Fragment.instantiate(this, pref.getFragment(), pref.getExtras());
+        if (f instanceof SettingsPreferenceFragment) {
+            ((SettingsPreferenceFragment) f).setOnStateListener(this);
+        }
+        getFragmentManager().openTransaction().replace(R.id.prefs, f)
+                .addToBackStack(BACK_STACK_PREFS).commit();
+        return true;
+    }
+
+    public static class TopLevelSettings extends PreferenceFragment {
+
+        private IconPreferenceScreen mHighlightedPreference;
+
+        @Override
+        public void onCreate(Bundle savedInstanceState) {
+            super.onCreate(savedInstanceState);
+
+            // Load the preferences from an XML resource
+            addPreferencesFromResource(R.xml.settings);
+
+            updatePreferenceList();
+        }
+
+        private void updatePreferenceList() {
+            final Activity activity = getActivity();
+            PreferenceGroup parent = (PreferenceGroup) findPreference(KEY_PARENT);
+            Utils.updatePreferenceToSpecificActivityOrRemove(activity, parent,
+                    KEY_SYNC_SETTINGS, 0);
+            Utils.updatePreferenceToSpecificActivityOrRemove(activity, parent,
+                    KEY_SEARCH_SETTINGS, 0);
+
+            Preference dockSettings = parent.findPreference(KEY_DOCK_SETTINGS);
+            if (activity.getResources().getBoolean(R.bool.has_dock_settings) == false
+                    && dockSettings != null) {
+                parent.removePreference(dockSettings);
+            }
+
+            Utils.updatePreferenceToSpecificActivityFromMetaDataOrRemove(activity, parent,
+                    KEY_OPERATOR_SETTINGS);
+            Utils.updatePreferenceToSpecificActivityFromMetaDataOrRemove(activity, parent,
+                    KEY_MANUFACTURER_SETTINGS);
+        }
+
+        @Override
+        public boolean onPreferenceTreeClick(PreferenceScreen screen, Preference preference) {
+            // If it is a fragment preference, replace the prefs pane in the 2 pane UI.
+            final String fragmentClass = preference.getFragment();
+            if (fragmentClass != null) {
+                boolean showed = ((Settings) getActivity()).showFragment(preference);
+                if (showed) {
+                    highlight(preference);
+                }
+                return showed;
+            }
+            return false;
+        }
+
+        void highlight(Preference preference) {
+            if (mHighlightedPreference != null) {
+                mHighlightedPreference.setHighlighted(false);
+            }
+            mHighlightedPreference = (IconPreferenceScreen) preference;
+            mHighlightedPreference.setHighlighted(true);
+        }
+
+        void selectFirst() {
+            Preference first = getPreferenceScreen().getPreference(0);
+            onPreferenceTreeClick(getPreferenceScreen(), first);
+        }
+    }
 }
diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java
new file mode 100644
index 0000000..d10fda3
--- /dev/null
+++ b/src/com/android/settings/SettingsPreferenceFragment.java
@@ -0,0 +1,251 @@
+/*
+ * 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;
+
+import android.app.Activity;
+import android.app.Dialog;
+import android.app.DialogFragment;
+import android.content.ContentResolver;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.content.res.Resources;
+import android.os.Bundle;
+import android.preference.PreferenceActivity;
+import android.preference.PreferenceFragment;
+import android.text.TextUtils;
+import android.util.Log;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.widget.Button;
+
+/**
+ * Base class for Settings fragments, with some helper functions and dialog management.
+ */
+public class SettingsPreferenceFragment extends PreferenceFragment {
+
+    private static final String TAG = "SettingsPreferenceFragment";
+
+    // Originally from PreferenceActivity.
+    private static final String EXTRA_PREFS_SHOW_BUTTON_BAR = "extra_prefs_show_button_bar";
+    private static final String EXTRA_PREFS_SHOW_SKIP = "extra_prefs_show_skip";
+    private static final String EXTRA_PREFS_SET_NEXT_TEXT = "extra_prefs_set_next_text";
+    private static final String EXTRA_PREFS_SET_BACK_TEXT = "extra_prefs_set_back_text";
+
+    private SettingsDialogFragment mDialogFragment;
+
+    private OnStateListener mOnStateListener;
+
+    private Button mNextButton;
+
+    interface OnStateListener {
+
+        void onCreated(SettingsPreferenceFragment fragment);
+
+        void onDestroyed(SettingsPreferenceFragment fragment);
+    }
+
+    public void setOnStateListener(OnStateListener listener) {
+        mOnStateListener = listener;
+    }
+
+    @Override
+    public void onActivityCreated(Bundle savedInstanceState) {
+        super.onActivityCreated(savedInstanceState);
+        if (mOnStateListener != null) {
+            mOnStateListener.onCreated(this);
+        }
+
+        setupButtonBar();
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        if (mOnStateListener != null) {
+            mOnStateListener.onDestroyed(this);
+        }
+    }
+
+    // Some helpers for functions used by the settings fragments when they were activities
+
+    /**
+     * Returns the ContentResolver from the owning Activity.
+     */
+    protected ContentResolver getContentResolver() {
+        return getActivity().getContentResolver();
+    }
+
+    /**
+     * Returns the specified system service from the owning Activity.
+     */
+    protected Object getSystemService(final String name) {
+        return getActivity().getSystemService(name);
+    }
+
+    /**
+     * Returns the Resources from the owning Activity.
+     */
+    protected Resources getResources() {
+        return getActivity().getResources();
+    }
+
+    /**
+     * Returns the PackageManager from the owning Activity.
+     */
+    protected PackageManager getPackageManager() {
+        return getActivity().getPackageManager();
+    }
+
+    // Dialog management
+
+    protected void showDialog(int dialogId) {
+        if (mDialogFragment != null) {
+            Log.e(TAG, "Old dialog fragment not null!");
+        }
+        mDialogFragment = new SettingsDialogFragment(this, dialogId);
+        mDialogFragment.show(getActivity(), Integer.toString(dialogId));
+    }
+
+    public Dialog onCreateDialog(int dialogId) {
+        return null;
+    }
+
+    protected void removeDialog(int dialogId) {
+        if (mDialogFragment != null && mDialogFragment.getDialogId() == dialogId
+                && mDialogFragment.isVisible()) {
+            mDialogFragment.dismiss();
+        }
+        mDialogFragment = null;
+    }
+
+    static class SettingsDialogFragment extends DialogFragment {
+        private int mDialogId;
+
+        private SettingsPreferenceFragment mFragment;
+
+        SettingsDialogFragment(SettingsPreferenceFragment fragment, int dialogId) {
+            mDialogId = dialogId;
+            mFragment = fragment;
+        }
+
+        @Override
+        public Dialog onCreateDialog(Bundle savedInstanceState) {
+            return mFragment.onCreateDialog(mDialogId);
+        }
+
+        public int getDialogId() {
+            return mDialogId;
+        }
+    }
+
+    protected boolean hasNextButton() {
+        return mNextButton != null;
+    }
+
+    protected Button getNextButton() {
+        return mNextButton;
+    }
+
+    /**
+     * Sets up Button Bar possibly required in the Fragment. Probably available only in
+     * phones.
+     *
+     * Previously {@link PreferenceActivity} had the capability as hidden functionality.
+     */
+    private void setupButtonBar() {
+        // Originally from PreferenceActivity, which has had button bar inside its layout.
+        final Activity activity = getActivity();
+        final Intent intent = activity.getIntent();
+        final View buttonBar = activity.findViewById(com.android.internal.R.id.button_bar);
+        if (!intent.getBooleanExtra(EXTRA_PREFS_SHOW_BUTTON_BAR, false) || buttonBar == null) {
+            return;
+        }
+
+        buttonBar.setVisibility(View.VISIBLE);
+        View tmpView = activity.findViewById(com.android.internal.R.id.back_button);
+        if (tmpView != null) {
+            // TODO: Assume this is pressed only in single pane, finishing current Activity.
+            try {
+                final Button backButton = (Button)tmpView;
+                backButton.setOnClickListener(new OnClickListener() {
+                    public void onClick(View v) {
+                        activity.setResult(Activity.RESULT_CANCELED);
+                        activity.finish();
+                    }
+                });
+                if (intent.hasExtra(EXTRA_PREFS_SET_BACK_TEXT)) {
+                    String buttonText = intent.getStringExtra(EXTRA_PREFS_SET_BACK_TEXT);
+                    if (TextUtils.isEmpty(buttonText)) {
+                        backButton.setVisibility(View.GONE);
+                    }
+                    else {
+                        backButton.setText(buttonText);
+                    }
+                }
+            } catch (ClassCastException e) {
+                Log.w(TAG, "The view originally for back_button is used not as Button. " +
+                        "Ignored.");
+            }
+        }
+
+        tmpView = activity.findViewById(com.android.internal.R.id.skip_button);
+        if (tmpView != null) {
+            try {
+                final Button skipButton = (Button)tmpView;
+                skipButton.setOnClickListener(new OnClickListener() {
+                    public void onClick(View v) {
+                        activity.setResult(Activity.RESULT_OK);
+                        activity.finish();
+                    }
+                });
+                if (intent.getBooleanExtra(EXTRA_PREFS_SHOW_SKIP, false)) {
+                    skipButton.setVisibility(View.VISIBLE);
+                }
+            } catch (ClassCastException e) {
+                Log.w(TAG, "The view originally for skip_button is used not as Button. " +
+                        "Ignored.");
+            }
+        }
+
+        tmpView = activity.findViewById(com.android.internal.R.id.next_button);
+        if (tmpView != null) {
+            try {
+                mNextButton = (Button)tmpView;
+                mNextButton.setOnClickListener(new OnClickListener() {
+                    public void onClick(View v) {
+                        activity.setResult(Activity.RESULT_OK);
+                        activity.finish();
+                    }
+                });
+                // set our various button parameters
+                if (intent.hasExtra(EXTRA_PREFS_SET_NEXT_TEXT)) {
+                    String buttonText = intent.getStringExtra(EXTRA_PREFS_SET_NEXT_TEXT);
+                    if (TextUtils.isEmpty(buttonText)) {
+                        mNextButton.setVisibility(View.GONE);
+                    }
+                    else {
+                        mNextButton.setText(buttonText);
+                    }
+                }
+            } catch (ClassCastException e) {
+                Log.w(TAG, "The view originally for next_button is used not as Button. " +
+                        "Ignored.");
+                mNextButton = null;
+            }
+        }
+    }
+}
diff --git a/src/com/android/settings/SoundSettings.java b/src/com/android/settings/SoundSettings.java
index a735268..c5dad82 100644
--- a/src/com/android/settings/SoundSettings.java
+++ b/src/com/android/settings/SoundSettings.java
@@ -23,26 +23,21 @@
 import android.content.IntentFilter;
 import android.media.AudioManager;
 import android.os.Bundle;
-import android.os.RemoteException;
-import android.os.ServiceManager;
 import android.preference.CheckBoxPreference;
 import android.preference.ListPreference;
 import android.preference.Preference;
-import android.preference.PreferenceActivity;
 import android.preference.PreferenceGroup;
 import android.preference.PreferenceScreen;
 import android.provider.Settings;
 import android.provider.Settings.SettingNotFoundException;
 import android.telephony.TelephonyManager;
 import android.util.Log;
-import android.view.IWindowManager;
 
-public class SoundSettings extends PreferenceActivity implements
+public class SoundSettings extends SettingsPreferenceFragment implements
         Preference.OnPreferenceChangeListener {
     private static final String TAG = "SoundAndDisplaysSettings";
 
     /** If there is no setting in the provider, use this. */
-    private static final int FALLBACK_SCREEN_TIMEOUT_VALUE = 30000;
     private static final int FALLBACK_EMERGENCY_TONE_VALUE = 0;
 
     private static final String KEY_SILENT = "silent";
@@ -90,7 +85,7 @@
     private PreferenceGroup mSoundSettings;
 
     @Override
-    protected void onCreate(Bundle savedInstanceState) {
+    public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         ContentResolver resolver = getContentResolver();
         int activePhoneType = TelephonyManager.getDefault().getPhoneType();
@@ -137,8 +132,8 @@
         mSoundSettings = (PreferenceGroup) findPreference(KEY_SOUND_SETTINGS);
         mNotificationPulse = (CheckBoxPreference)
                 mSoundSettings.findPreference(KEY_NOTIFICATION_PULSE);
-        if (mNotificationPulse != null &&
-                getResources().getBoolean(R.bool.has_intrusive_led) == false) {
+        if (mNotificationPulse != null
+                && getResources().getBoolean(R.bool.has_intrusive_led) == false) {
             mSoundSettings.removePreference(mNotificationPulse);
         } else {
             try {
@@ -153,20 +148,20 @@
     }
 
     @Override
-    protected void onResume() {
+    public void onResume() {
         super.onResume();
 
         updateState(true);
 
         IntentFilter filter = new IntentFilter(AudioManager.RINGER_MODE_CHANGED_ACTION);
-        registerReceiver(mReceiver, filter);
+        getActivity().registerReceiver(mReceiver, filter);
     }
 
     @Override
-    protected void onPause() {
+    public void onPause() {
         super.onPause();
 
-        unregisterReceiver(mReceiver);
+        getActivity().unregisterReceiver(mReceiver);
     }
 
     private String getPhoneVibrateSettingValue() {
diff --git a/src/com/android/settings/TetherSettings.java b/src/com/android/settings/TetherSettings.java
index b924571..67049ff 100644
--- a/src/com/android/settings/TetherSettings.java
+++ b/src/com/android/settings/TetherSettings.java
@@ -20,7 +20,13 @@
 
 import android.app.AlertDialog;
 import android.app.Dialog;
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothPan;
+import android.bluetooth.IBluetooth;
 import android.os.Bundle;
+import android.os.IBinder;
+import android.os.RemoteException;
+import android.os.ServiceManager;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
@@ -32,6 +38,7 @@
 import android.preference.Preference;
 import android.preference.PreferenceActivity;
 import android.preference.PreferenceScreen;
+import android.util.Log;
 import android.webkit.WebView;
 
 import java.io.InputStream;
@@ -42,9 +49,13 @@
  * Displays preferences for Tethering.
  */
 public class TetherSettings extends PreferenceActivity {
+    private static final String TAG = "TetheringSettings";
+
     private static final String USB_TETHER_SETTINGS = "usb_tether_settings";
     private static final String ENABLE_WIFI_AP = "enable_wifi_ap";
     private static final String WIFI_AP_SETTINGS = "wifi_ap_settings";
+    private static final String ENABLE_BLUETOOTH_TETHERING = "enable_bluetooth_tethering";
+    private static final String BLUETOOTH_TETHER_SETTINGS = "bluetooth_tether_settings";
     private static final String TETHERING_HELP = "tethering_help";
     private static final String USB_HELP_MODIFIER = "usb_";
     private static final String WIFI_HELP_MODIFIER = "wifi_";
@@ -59,6 +70,10 @@
     private CheckBoxPreference mEnableWifiAp;
     private PreferenceScreen mWifiApSettings;
     private WifiApEnabler mWifiApEnabler;
+
+    private CheckBoxPreference mBluetoothTether;
+    private PreferenceScreen mBluetoothSettings;
+
     private PreferenceScreen mTetherHelp;
 
     private BroadcastReceiver mTetherChangeReceiver;
@@ -67,36 +82,68 @@
 
     private String[] mWifiRegexs;
 
+    private String[] mBluetoothRegexs;
+    private BluetoothPan mBluetoothPan;
+
     @Override
     protected void onCreate(Bundle icicle) {
         super.onCreate(icicle);
 
+        mBluetoothPan = new BluetoothPan(this);
         addPreferencesFromResource(R.xml.tether_prefs);
 
         mEnableWifiAp = (CheckBoxPreference) findPreference(ENABLE_WIFI_AP);
         mWifiApSettings = (PreferenceScreen) findPreference(WIFI_AP_SETTINGS);
         mUsbTether = (CheckBoxPreference) findPreference(USB_TETHER_SETTINGS);
+        mBluetoothTether = (CheckBoxPreference) findPreference(ENABLE_BLUETOOTH_TETHERING);
+        mBluetoothSettings = (PreferenceScreen) findPreference(BLUETOOTH_TETHER_SETTINGS);
         mTetherHelp = (PreferenceScreen) findPreference(TETHERING_HELP);
 
         ConnectivityManager cm =
                 (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
 
         mUsbRegexs = cm.getTetherableUsbRegexs();
-        if (mUsbRegexs.length == 0) {
-            getPreferenceScreen().removePreference(mUsbTether);
-
-            setTitle(R.string.tether_settings_title_wifi);
-        }
-
         mWifiRegexs = cm.getTetherableWifiRegexs();
-        if (mWifiRegexs.length == 0) {
+        mBluetoothRegexs = cm.getTetherableBluetoothRegexs();
+
+        boolean usbAvailable = mUsbRegexs.length != 0;
+        boolean wifiAvailable = mWifiRegexs.length != 0;
+        boolean bluetoothAvailable = mBluetoothRegexs.length != 0;
+
+
+        if (!usbAvailable || Utils.isMonkeyRunning()) {
+            getPreferenceScreen().removePreference(mUsbTether);
+        }
+        if (!wifiAvailable) {
             getPreferenceScreen().removePreference(mEnableWifiAp);
             getPreferenceScreen().removePreference(mWifiApSettings);
-
+        }
+        if (!bluetoothAvailable) {
+            getPreferenceScreen().removePreference(mBluetoothTether);
+            getPreferenceScreen().removePreference(mBluetoothSettings);
+        } else {
+            if (mBluetoothPan.isTetheringOn()) {
+                mBluetoothTether.setChecked(true);
+                mBluetoothSettings.setEnabled(true);
+            } else {
+                mBluetoothTether.setChecked(false);
+                mBluetoothSettings.setEnabled(false);
+            }
+        }
+        if (wifiAvailable && usbAvailable && bluetoothAvailable){
+            setTitle(R.string.tether_settings_title_all);
+        } else if (wifiAvailable && usbAvailable){
+            setTitle(R.string.tether_settings_title_all);
+        } else if (wifiAvailable && bluetoothAvailable){
+            setTitle(R.string.tether_settings_title_all);
+        } else if (wifiAvailable) {
+            setTitle(R.string.tether_settings_title_wifi);
+        } else if (usbAvailable && bluetoothAvailable) {
+            setTitle(R.string.tether_settings_title_usb_bluetooth);
+        } else if (usbAvailable) {
             setTitle(R.string.tether_settings_title_usb);
-        } else if (mUsbRegexs.length != 0) {
-            // have both
-            setTitle(R.string.tether_settings_title_both);
+        } else {
+            setTitle(R.string.tether_settings_title_bluetooth);
         }
         mWifiApEnabler = new WifiApEnabler(this, mEnableWifiAp);
         mView = new WebView(this);
@@ -148,6 +195,7 @@
     }
 
     private class TetherChangeReceiver extends BroadcastReceiver {
+        @Override
         public void onReceive(Context content, Intent intent) {
             if (intent.getAction().equals(ConnectivityManager.ACTION_TETHER_STATE_CHANGED)) {
                 // TODO - this should understand the interface types
@@ -157,11 +205,14 @@
                         ConnectivityManager.EXTRA_ACTIVE_TETHER);
                 ArrayList<String> errored = intent.getStringArrayListExtra(
                         ConnectivityManager.EXTRA_ERRORED_TETHER);
-                updateState((String[]) available.toArray(), (String[]) active.toArray(),
-                        (String[]) errored.toArray());
+                updateState(available.toArray(new String[available.size()]),
+                        active.toArray(new String[active.size()]),
+                        errored.toArray(new String[errored.size()]));
             } else if (intent.getAction().equals(Intent.ACTION_MEDIA_SHARED) ||
                        intent.getAction().equals(Intent.ACTION_MEDIA_UNSHARED)) {
                 updateState();
+            } else if (intent.getAction().equals(BluetoothAdapter.ACTION_STATE_CHANGED)) {
+                updateState();
             }
         }
     }
@@ -170,8 +221,8 @@
     protected void onResume() {
         super.onResume();
 
-        IntentFilter filter = new IntentFilter(ConnectivityManager.ACTION_TETHER_STATE_CHANGED);
         mTetherChangeReceiver = new TetherChangeReceiver();
+        IntentFilter filter = new IntentFilter(ConnectivityManager.ACTION_TETHER_STATE_CHANGED);
         Intent intent = registerReceiver(mTetherChangeReceiver, filter);
 
         filter = new IntentFilter();
@@ -180,6 +231,10 @@
         filter.addDataScheme("file");
         registerReceiver(mTetherChangeReceiver, filter);
 
+        filter = new IntentFilter();
+        filter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED);
+        registerReceiver(mTetherChangeReceiver, filter);
+
         if (intent != null) mTetherChangeReceiver.onReceive(this, intent);
         mWifiApEnabler.resume();
     }
@@ -204,6 +259,13 @@
 
     private void updateState(String[] available, String[] tethered,
             String[] errored) {
+        updateUsbState(available, tethered, errored);
+        updateBluetoothState(available, tethered, errored);
+    }
+
+
+    private void updateUsbState(String[] available, String[] tethered,
+            String[] errored) {
         ConnectivityManager cm =
                 (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
         boolean usbTethered = false;
@@ -260,6 +322,66 @@
         }
     }
 
+    private void updateBluetoothState(String[] available, String[] tethered,
+            String[] errored) {
+        ConnectivityManager cm =
+                (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
+        boolean bluetoothTethered = false;
+        boolean bluetoothAvailable = false;
+        int bluetoothError = ConnectivityManager.TETHER_ERROR_NO_ERROR;
+        boolean bluetoothErrored = false;
+        for (String s : available) {
+            for (String regex : mBluetoothRegexs) {
+                if (s.matches(regex)) {
+                    bluetoothAvailable = true;
+                    if (bluetoothError == ConnectivityManager.TETHER_ERROR_NO_ERROR) {
+                        bluetoothError = cm.getLastTetherError(s);
+                    }
+                }
+            }
+        }
+        for (String s : tethered) {
+            for (String regex : mBluetoothRegexs) {
+                if (s.matches(regex)) bluetoothTethered = true;
+            }
+        }
+        for (String s: errored) {
+            for (String regex : mBluetoothRegexs) {
+                if (s.matches(regex)) bluetoothErrored = true;
+            }
+        }
+
+        BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
+        int btState = adapter.getState();
+        if (btState == BluetoothAdapter.STATE_TURNING_OFF) {
+            mBluetoothTether.setEnabled(false);
+            mBluetoothSettings.setEnabled(false);
+            mBluetoothTether.setSummary(R.string.wifi_stopping);
+        } else if (btState == BluetoothAdapter.STATE_TURNING_ON) {
+            mBluetoothTether.setEnabled(false);
+            mBluetoothSettings.setEnabled(false);
+            mBluetoothTether.setSummary(R.string.bluetooth_turning_on);
+        } else if (mBluetoothPan.isTetheringOn()) {
+            mBluetoothTether.setChecked(true);
+            if (btState == BluetoothAdapter.STATE_ON) {
+                mBluetoothTether.setEnabled(true);
+                mBluetoothSettings.setEnabled(true);
+                if (bluetoothTethered) {
+                    mBluetoothTether.setSummary(R.string.bluetooth_tethering_connected_subtext);
+                } else if (bluetoothErrored) {
+                    mBluetoothTether.setSummary(R.string.bluetooth_tethering_errored_subtext);
+                } else {
+                    mBluetoothTether.setSummary(R.string.bluetooth_tethering_available_subtext);
+                }
+            }
+        } else {
+            mBluetoothTether.setEnabled(true);
+            mBluetoothTether.setChecked(false);
+            mBluetoothSettings.setEnabled(false);
+            mBluetoothTether.setSummary(R.string.bluetooth_tethering_off_subtext);
+        }
+    }
+
     @Override
     public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
         if (preference == mUsbTether) {
@@ -296,8 +418,47 @@
                 }
                 mUsbTether.setSummary("");
             }
-        } else if (preference == mTetherHelp) {
+        } else if(preference == mBluetoothTether) {
+            boolean bluetoothTetherState = mBluetoothTether.isChecked();
 
+            if (bluetoothTetherState) {
+                // turn on Bluetooth first
+                BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
+                if (adapter.getState() == BluetoothAdapter.STATE_OFF) {
+                    adapter.enable();
+                    mBluetoothTether.setSummary(R.string.bluetooth_turning_on);
+                    mBluetoothTether.setEnabled(false);
+                    mBluetoothSettings.setEnabled(false);
+                } else {
+                    mBluetoothSettings.setEnabled(true);
+                }
+
+                mBluetoothPan.setBluetoothTethering(true,
+                        BluetoothPan.NAP_ROLE, BluetoothPan.NAP_BRIDGE);
+                mBluetoothTether.setSummary(R.string.bluetooth_tethering_available_subtext);
+            } else {
+                boolean errored = false;
+
+                ConnectivityManager cm =
+                    (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
+                String [] tethered = cm.getTetheredIfaces();
+                String bluetoothIface = findIface(tethered, mBluetoothRegexs);
+                if (bluetoothIface != null &&
+                        cm.untether(bluetoothIface) != ConnectivityManager.TETHER_ERROR_NO_ERROR) {
+                    errored = true;
+                }
+
+                mBluetoothPan.setBluetoothTethering(false,
+                        BluetoothPan.NAP_ROLE, BluetoothPan.NAP_BRIDGE);
+
+                mBluetoothSettings.setEnabled(false);
+                if (errored) {
+                    mBluetoothTether.setSummary(R.string.bluetooth_tethering_errored_subtext);
+                } else {
+                    mBluetoothTether.setSummary(R.string.bluetooth_tethering_off_subtext);
+                }
+            }
+        } else if (preference == mTetherHelp) {
             showDialog(DIALOG_TETHER_HELP);
         }
         return false;
diff --git a/src/com/android/settings/UserDictionarySettings.java b/src/com/android/settings/UserDictionarySettings.java
index 6ffcb3d..8791e65 100644
--- a/src/com/android/settings/UserDictionarySettings.java
+++ b/src/com/android/settings/UserDictionarySettings.java
@@ -251,7 +251,9 @@
         // TODO: present UI for picking whether to add word to all locales, or current.
         UserDictionary.Words.addWord(this, word.toString(),
                 250, UserDictionary.Words.LOCALE_TYPE_ALL);
-        mCursor.requery();
+        if (!mCursor.requery()) {
+            throw new IllegalStateException("can't requery on already-closed cursor.");
+        }
         mAddedWordAlready = true;
     }
 
diff --git a/src/com/android/settings/VoiceInputOutputSettings.java b/src/com/android/settings/VoiceInputOutputSettings.java
index 30bedda..b07c69e 100644
--- a/src/com/android/settings/VoiceInputOutputSettings.java
+++ b/src/com/android/settings/VoiceInputOutputSettings.java
@@ -31,7 +31,6 @@
 import android.os.Bundle;
 import android.preference.ListPreference;
 import android.preference.Preference;
-import android.preference.PreferenceActivity;
 import android.preference.PreferenceCategory;
 import android.preference.PreferenceGroup;
 import android.preference.PreferenceScreen;
@@ -49,7 +48,7 @@
 /**
  * Settings screen for voice input/output.
  */
-public class VoiceInputOutputSettings extends PreferenceActivity
+public class VoiceInputOutputSettings extends SettingsPreferenceFragment
         implements OnPreferenceChangeListener {
     
     private static final String TAG = "VoiceInputOutputSettings";
@@ -67,7 +66,7 @@
     private HashMap<String, ResolveInfo> mAvailableRecognizersMap;
     
     @Override
-    protected void onCreate(Bundle icicle) {
+    public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
 
         addPreferencesFromResource(R.xml.voice_input_output_settings);
diff --git a/src/com/android/settings/WirelessSettings.java b/src/com/android/settings/WirelessSettings.java
index 78cf8cf..6d1ce8d 100644
--- a/src/com/android/settings/WirelessSettings.java
+++ b/src/com/android/settings/WirelessSettings.java
@@ -16,27 +16,26 @@
 
 package com.android.settings;
 
-import android.bluetooth.BluetoothAdapter;
-import android.content.Context;
-import android.content.Intent;
-import android.net.ConnectivityManager;
-import android.net.wifi.WifiManager;
-import android.os.Bundle;
-import android.os.ServiceManager;
-import android.os.SystemProperties;
-import android.preference.CheckBoxPreference;
-import android.preference.Preference;
-import android.preference.PreferenceActivity;
-import android.preference.PreferenceScreen;
-import android.provider.Settings;
-import android.util.Log;
-
 import com.android.internal.telephony.TelephonyIntents;
 import com.android.internal.telephony.TelephonyProperties;
 import com.android.settings.bluetooth.BluetoothEnabler;
 import com.android.settings.wifi.WifiEnabler;
 
-public class WirelessSettings extends PreferenceActivity {
+import android.app.Activity;
+import android.app.admin.DevicePolicyManager;
+import android.bluetooth.BluetoothAdapter;
+import android.content.Context;
+import android.content.Intent;
+import android.net.ConnectivityManager;
+import android.os.Bundle;
+import android.os.ServiceManager;
+import android.os.SystemProperties;
+import android.preference.CheckBoxPreference;
+import android.preference.Preference;
+import android.preference.PreferenceScreen;
+import android.provider.Settings;
+
+public class WirelessSettings extends SettingsPreferenceFragment {
 
     private static final String KEY_TOGGLE_AIRPLANE = "toggle_airplane";
     private static final String KEY_TOGGLE_BLUETOOTH = "toggle_bluetooth";
@@ -45,6 +44,7 @@
     private static final String KEY_BT_SETTINGS = "bt_settings";
     private static final String KEY_VPN_SETTINGS = "vpn_settings";
     private static final String KEY_TETHER_SETTINGS = "tether_settings";
+    private static final String KEY_PROXY_SETTINGS = "proxy_settings";
     public static final String EXIT_ECM_RESULT = "exit_ecm_result";
     public static final int REQUEST_CODE_EXIT_ECM = 1;
 
@@ -69,7 +69,7 @@
             return true;
         }
         // Let the intents be launched by the Preference manager
-        return false;
+        return super.onPreferenceTreeClick(preferenceScreen, preference);
     }
 
     public static boolean isRadioAllowed(Context context, String type) {
@@ -83,21 +83,22 @@
     }
 
     @Override
-    protected void onCreate(Bundle savedInstanceState) {
+    public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
         addPreferencesFromResource(R.xml.wireless_settings);
 
+        final Activity activity = getActivity();
         CheckBoxPreference airplane = (CheckBoxPreference) findPreference(KEY_TOGGLE_AIRPLANE);
         CheckBoxPreference wifi = (CheckBoxPreference) findPreference(KEY_TOGGLE_WIFI);
         CheckBoxPreference bt = (CheckBoxPreference) findPreference(KEY_TOGGLE_BLUETOOTH);
 
-        mAirplaneModeEnabler = new AirplaneModeEnabler(this, airplane);
+        mAirplaneModeEnabler = new AirplaneModeEnabler(activity, airplane);
         mAirplaneModePreference = (CheckBoxPreference) findPreference(KEY_TOGGLE_AIRPLANE);
-        mWifiEnabler = new WifiEnabler(this, wifi);
-        mBtEnabler = new BluetoothEnabler(this, bt);
+        mWifiEnabler = new WifiEnabler(activity, wifi);
+        mBtEnabler = new BluetoothEnabler(activity, bt);
 
-        String toggleable = Settings.System.getString(getContentResolver(),
+        String toggleable = Settings.System.getString(activity.getContentResolver(),
                 Settings.System.AIRPLANE_MODE_TOGGLEABLE_RADIOS);
 
         // Manually set dependencies for Wifi when not toggleable.
@@ -118,50 +119,72 @@
             findPreference(KEY_BT_SETTINGS).setEnabled(false);
         }
 
+        // Enable Proxy selector settings if allowed.
+        Preference mGlobalProxy = findPreference(KEY_PROXY_SETTINGS);
+        DevicePolicyManager mDPM = (DevicePolicyManager)
+                activity.getSystemService(Context.DEVICE_POLICY_SERVICE);
+        mGlobalProxy.setEnabled(mDPM.getGlobalProxyAdmin() == null);
+
         // Disable Tethering if it's not allowed
         ConnectivityManager cm =
-                (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
+                (ConnectivityManager) activity.getSystemService(Context.CONNECTIVITY_SERVICE);
         if (!cm.isTetheringSupported()) {
             getPreferenceScreen().removePreference(findPreference(KEY_TETHER_SETTINGS));
         } else {
             String[] usbRegexs = cm.getTetherableUsbRegexs();
             String[] wifiRegexs = cm.getTetherableWifiRegexs();
+            String[] bluetoothRegexs = cm.getTetherableBluetoothRegexs();
+
+            boolean usbAvailable = usbRegexs.length != 0;
+            boolean wifiAvailable = wifiRegexs.length != 0;
+            boolean bluetoothAvailable = bluetoothRegexs.length != 0;
+
             Preference p = findPreference(KEY_TETHER_SETTINGS);
-            if (wifiRegexs.length == 0) {
+            if (wifiAvailable && usbAvailable && bluetoothAvailable) {
+                p.setTitle(R.string.tether_settings_title_all);
+                p.setSummary(R.string.tether_settings_summary_all);
+            } else if (wifiAvailable && usbAvailable) {
+                p.setTitle(R.string.tether_settings_title_all);
+                p.setSummary(R.string.tether_settings_summary_usb_wifi);
+            } else if (wifiAvailable && bluetoothAvailable) {
+                p.setTitle(R.string.tether_settings_title_all);
+                p.setSummary(R.string.tether_settings_summary_wifi_bluetooth);
+            } else if (wifiAvailable) {
+                p.setTitle(R.string.tether_settings_title_wifi);
+                p.setSummary(R.string.tether_settings_summary_wifi);
+            } else if (usbAvailable && bluetoothAvailable) {
+                p.setTitle(R.string.tether_settings_title_usb_bluetooth);
+                p.setSummary(R.string.tether_settings_summary_usb_bluetooth);
+            } else if (usbAvailable) {
                 p.setTitle(R.string.tether_settings_title_usb);
                 p.setSummary(R.string.tether_settings_summary_usb);
             } else {
-                if (usbRegexs.length == 0) {
-                    p.setTitle(R.string.tether_settings_title_wifi);
-                    p.setSummary(R.string.tether_settings_summary_wifi);
-                } else {
-                    p.setTitle(R.string.tether_settings_title_both);
-                    p.setSummary(R.string.tether_settings_summary_both);
-                }
+                p.setTitle(R.string.tether_settings_title_bluetooth);
+                p.setSummary(R.string.tether_settings_summary_bluetooth);
             }
         }
     }
 
     @Override
-    protected void onResume() {
+    public void onResume() {
         super.onResume();
-        
+
         mAirplaneModeEnabler.resume();
         mWifiEnabler.resume();
         mBtEnabler.resume();
     }
-    
+
     @Override
-    protected void onPause() {
+    public void onPause() {
         super.onPause();
-        
+
         mAirplaneModeEnabler.pause();
         mWifiEnabler.pause();
         mBtEnabler.pause();
     }
-    
+
     @Override
-    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+    public void onActivityResult(int requestCode, int resultCode, Intent data) {
         if (requestCode == REQUEST_CODE_EXIT_ECM) {
             Boolean isChoiceYes = data.getBooleanExtra(EXIT_ECM_RESULT, false);
             // Set Airplane mode based on the return value and checkbox state
diff --git a/src/com/android/settings/bluetooth/BluetoothDevicePreference.java b/src/com/android/settings/bluetooth/BluetoothDevicePreference.java
index 5b0218f..f0b1705 100644
--- a/src/com/android/settings/bluetooth/BluetoothDevicePreference.java
+++ b/src/com/android/settings/bluetooth/BluetoothDevicePreference.java
@@ -34,6 +34,7 @@
     private static int sDimAlpha = Integer.MIN_VALUE;
 
     private CachedBluetoothDevice mCachedDevice;
+    private int mAccessibleProfile;
 
     /**
      * Cached local copy of whether the device is busy. This is only updated
@@ -41,7 +42,8 @@
      */
     private boolean mIsBusy;
 
-    public BluetoothDevicePreference(Context context, CachedBluetoothDevice cachedDevice) {
+    public BluetoothDevicePreference(Context context, CachedBluetoothDevice cachedDevice,
+            int accessibleProfile) {
         super(context);
 
         if (sDimAlpha == Integer.MIN_VALUE) {
@@ -51,6 +53,7 @@
         }
 
         mCachedDevice = cachedDevice;
+        mAccessibleProfile = accessibleProfile;
 
         setLayoutResource(R.layout.preference_bluetooth);
 
@@ -83,7 +86,7 @@
          * related to BluetoothHeadset not bound to the actual
          * BluetoothHeadsetService when we got here.
          */
-        setSummary(mCachedDevice.getSummary());
+        setSummary(mCachedDevice.getSummary(mAccessibleProfile));
 
         // Used to gray out the item
         mIsBusy = mCachedDevice.isBusy();
diff --git a/src/com/android/settings/bluetooth/BluetoothEventRedirector.java b/src/com/android/settings/bluetooth/BluetoothEventRedirector.java
index dbdf6c1..f3a404f 100644
--- a/src/com/android/settings/bluetooth/BluetoothEventRedirector.java
+++ b/src/com/android/settings/bluetooth/BluetoothEventRedirector.java
@@ -24,6 +24,8 @@
 import android.bluetooth.BluetoothClass;
 import android.bluetooth.BluetoothDevice;
 import android.bluetooth.BluetoothHeadset;
+import android.bluetooth.BluetoothInputDevice;
+import android.bluetooth.BluetoothPan;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
@@ -119,6 +121,31 @@
                 mManager.getCachedDeviceManager().onProfileStateChanged(device,
                         Profile.A2DP, newState);
 
+            } else if (action.equals(BluetoothInputDevice.ACTION_INPUT_DEVICE_STATE_CHANGED)) {
+                final int newState = intent.getIntExtra(
+                        BluetoothInputDevice.EXTRA_INPUT_DEVICE_STATE, 0);
+                final int oldState = intent.getIntExtra(
+                        BluetoothInputDevice.EXTRA_PREVIOUS_INPUT_DEVICE_STATE, 0);
+                if (newState == BluetoothInputDevice.STATE_DISCONNECTED &&
+                        oldState == BluetoothInputDevice.STATE_CONNECTING) {
+                    Log.i(TAG, "Failed to connect BT HID");
+                }
+
+                mManager.getCachedDeviceManager().onProfileStateChanged(device,
+                        Profile.HID, newState);
+
+            } else if (action.equals(BluetoothPan.ACTION_PAN_STATE_CHANGED)) {
+                final int newState = intent.getIntExtra(
+                        BluetoothPan.EXTRA_PAN_STATE, 0);
+                final int oldState = intent.getIntExtra(
+                        BluetoothPan.EXTRA_PREVIOUS_PAN_STATE, 0);
+                if (newState == BluetoothPan.STATE_DISCONNECTED &&
+                        oldState == BluetoothPan.STATE_CONNECTING) {
+                    Log.i(TAG, "Failed to connect BT PAN");
+                }
+                mManager.getCachedDeviceManager().onProfileStateChanged(device,
+                        Profile.PAN, newState);
+
             } else if (action.equals(BluetoothDevice.ACTION_CLASS_CHANGED)) {
                 mManager.getCachedDeviceManager().onBtClassChanged(device);
 
@@ -166,6 +193,7 @@
         // Fine-grained state broadcasts
         filter.addAction(BluetoothA2dp.ACTION_SINK_STATE_CHANGED);
         filter.addAction(BluetoothHeadset.ACTION_STATE_CHANGED);
+        filter.addAction(BluetoothPan.ACTION_PAN_STATE_CHANGED);
         filter.addAction(BluetoothDevice.ACTION_CLASS_CHANGED);
         filter.addAction(BluetoothDevice.ACTION_UUID);
 
diff --git a/src/com/android/settings/bluetooth/BluetoothSettings.java b/src/com/android/settings/bluetooth/BluetoothSettings.java
index 78c531c..bb3cbc7 100644
--- a/src/com/android/settings/bluetooth/BluetoothSettings.java
+++ b/src/com/android/settings/bluetooth/BluetoothSettings.java
@@ -18,22 +18,33 @@
 
 import com.android.settings.ProgressCategory;
 import com.android.settings.R;
+import com.android.settings.bluetooth.LocalBluetoothProfileManager.Profile;
 
+import android.app.AlertDialog;
 import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothClass;
 import android.bluetooth.BluetoothDevice;
 import android.bluetooth.BluetoothDevicePicker;
+import android.bluetooth.BluetoothPan;
 import android.bluetooth.BluetoothUuid;
+import android.bluetooth.IBluetooth;
 import android.content.BroadcastReceiver;
 import android.content.Context;
+import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.os.Bundle;
+import android.os.IBinder;
 import android.os.ParcelUuid;
+import android.os.RemoteException;
+import android.os.ServiceManager;
 import android.preference.CheckBoxPreference;
 import android.preference.Preference;
 import android.preference.PreferenceActivity;
 import android.preference.PreferenceScreen;
+import android.server.BluetoothService;
+import android.text.TextUtils;
+import android.util.Log;
 import android.view.ContextMenu;
 import android.view.MenuItem;
 import android.view.View;
@@ -60,6 +71,10 @@
 
     private static final int SCREEN_TYPE_SETTINGS = 0;
     private static final int SCREEN_TYPE_DEVICEPICKER = 1;
+    private static final int SCREEN_TYPE_TETHERING = 2;
+
+    public static final String ACTION_LAUNCH_TETHER_PICKER =
+        "com.android.settings.bluetooth.action.LAUNCH_TETHER_PICKER";
 
     private int mScreenType;
     private int mFilterType;
@@ -88,16 +103,19 @@
 
             if (intent.getAction().equals(BluetoothAdapter.ACTION_STATE_CHANGED)) {
                 onBluetoothStateChanged(mLocalManager.getBluetoothState());
-            } else if (intent.getAction().equals(BluetoothDevice.ACTION_BOND_STATE_CHANGED)
-                    && mScreenType == SCREEN_TYPE_DEVICEPICKER) {
+            } else if (intent.getAction().equals(BluetoothDevice.ACTION_BOND_STATE_CHANGED)) {
                 int bondState = intent
                         .getIntExtra(BluetoothDevice.EXTRA_BOND_STATE, BluetoothDevice.ERROR);
                 if (bondState == BluetoothDevice.BOND_BONDED) {
                     BluetoothDevice device = intent
                             .getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
                     if (device.equals(mSelectedDevice)) {
-                        sendDevicePickedIntent(device);
-                        finish();
+                        if (mScreenType == SCREEN_TYPE_DEVICEPICKER) {
+                            sendDevicePickedIntent(device);
+                            finish();
+                        } else if (mScreenType == SCREEN_TYPE_TETHERING) {
+                            onPanDevicePicked();
+                        }
                     }
                 }
             }
@@ -134,6 +152,12 @@
 
             setTitle(getString(R.string.device_picker));
             addPreferencesFromResource(R.xml.device_picker);
+        } else if (action.equals(ACTION_LAUNCH_TETHER_PICKER)){
+            mScreenType = SCREEN_TYPE_TETHERING;
+            mFilterType = BluetoothDevicePicker.FILTER_TYPE_PANU;
+
+            setTitle(getString(R.string.device_picker));
+            addPreferencesFromResource(R.xml.device_picker);
         } else {
             addPreferencesFromResource(R.xml.bluetooth_settings);
 
@@ -240,6 +264,18 @@
                 } else {
                     btPreference.getCachedDevice().onClicked();
                 }
+            } else if (mScreenType == SCREEN_TYPE_TETHERING){
+                CachedBluetoothDevice device = btPreference.getCachedDevice();
+
+                mSelectedDevice = device.getDevice();
+                mLocalManager.stopScanning();
+                mLocalManager.persistSelectedDeviceInPicker(mSelectedDevice.getAddress());
+                if ((device.getBondState() == BluetoothDevice.BOND_BONDED)) {
+                    onPanDevicePicked();
+                    // don't call finish so that users can see it connecting
+                } else {
+                    btPreference.getCachedDevice().onClicked();
+                }
             }
             return true;
         }
@@ -301,13 +337,14 @@
 
         switch(mFilterType) {
         case BluetoothDevicePicker.FILTER_TYPE_TRANSFER:
-            if (uuids != null)
+            if (uuids != null) {
                 if (BluetoothUuid.containsAnyUuid(uuids,
                         LocalBluetoothProfileManager.OPP_PROFILE_UUIDS))  return true;
-                if (bluetoothClass != null
-                        && bluetoothClass.doesClassMatch(BluetoothClass.PROFILE_OPP)) {
-                    return true;
-                }
+            }
+            if (bluetoothClass != null
+                   && bluetoothClass.doesClassMatch(BluetoothClass.PROFILE_OPP)) {
+                return true;
+            }
             break;
         case BluetoothDevicePicker.FILTER_TYPE_AUDIO:
             if (uuids != null) {
@@ -322,6 +359,27 @@
                 if (bluetoothClass.doesClassMatch(BluetoothClass.PROFILE_HEADSET)) return true;
             }
             break;
+        case BluetoothDevicePicker.FILTER_TYPE_PANU:
+            if (uuids != null) {
+                if (BluetoothUuid.containsAnyUuid(uuids,
+                        LocalBluetoothProfileManager.PANU_PROFILE_UUIDS))  return true;
+
+            }
+            if (bluetoothClass != null
+                   && bluetoothClass.doesClassMatch(BluetoothClass.PROFILE_PANU)) {
+                return true;
+            }
+            break;
+        case BluetoothDevicePicker.FILTER_TYPE_NAP:
+            if (uuids != null) {
+                if (BluetoothUuid.containsAnyUuid(uuids,
+                        LocalBluetoothProfileManager.NAP_PROFILE_UUIDS))  return true;
+            }
+            if (bluetoothClass != null
+                   && bluetoothClass.doesClassMatch(BluetoothClass.PROFILE_NAP)) {
+                return true;
+            }
+            break;
         default:
             return true;
         }
@@ -329,7 +387,14 @@
     }
 
     private void createDevicePreference(CachedBluetoothDevice cachedDevice) {
-        BluetoothDevicePreference preference = new BluetoothDevicePreference(this, cachedDevice);
+        BluetoothDevicePreference preference;
+        if (mScreenType == SCREEN_TYPE_TETHERING) {
+            preference = new BluetoothDevicePreference(
+                    this, cachedDevice, CachedBluetoothDevice.PAN_PROFILE);
+        } else {
+            preference = new BluetoothDevicePreference(
+                    this, cachedDevice, CachedBluetoothDevice.OTHER_PROFILES);
+        }
         mDeviceList.addPreference(preference);
         mDevicePreferenceMap.put(cachedDevice, preference);
     }
@@ -355,12 +420,52 @@
         }
     }
 
+    private void onPanDevicePicked() {
+        final LocalBluetoothProfileManager profileManager =
+            LocalBluetoothProfileManager.getProfileManager(mLocalManager, Profile.PAN);
+        int status = profileManager.getConnectionStatus(mSelectedDevice);
+        if (SettingsBtStatus.isConnectionStatusConnected(status)) {
+            String name = mSelectedDevice.getName();
+            if (TextUtils.isEmpty(name)) {
+                name = getString(R.string.bluetooth_device);
+            }
+            String message = getString(R.string.bluetooth_untether_blank, name);
+            DialogInterface.OnClickListener disconnectListener =
+                new DialogInterface.OnClickListener() {
+                public void onClick(DialogInterface dialog, int which) {
+                    profileManager.disconnect(mSelectedDevice);
+                }
+            };
+            new AlertDialog.Builder(this)
+                .setTitle(name)
+                .setMessage(message)
+                .setPositiveButton(android.R.string.ok, disconnectListener)
+                .setNegativeButton(android.R.string.cancel, null)
+                .create()
+                .show();
+        } else if (status == SettingsBtStatus.CONNECTION_STATUS_DISCONNECTED) {
+            if (profileManager.getConnectedDevices().size() >= BluetoothPan.MAX_CONNECTIONS) {
+                new AlertDialog.Builder(this)
+                    .setIcon(android.R.drawable.ic_dialog_alert)
+                    .setTitle(R.string.bluetooth_error_title)
+                    .setMessage(getString(R.string.bluetooth_tethering_overflow_error,
+                            BluetoothPan.MAX_CONNECTIONS))
+                    .setNegativeButton(android.R.string.ok, null)
+                    .create()
+                    .show();
+                return;
+            }
+            profileManager.connect(mSelectedDevice);
+        }
+    }
+
     private void sendDevicePickedIntent(BluetoothDevice device) {
         Intent intent = new Intent(BluetoothDevicePicker.ACTION_DEVICE_SELECTED);
-        if (mLaunchPackage != null && mLaunchClass != null) {
+        intent.putExtra(BluetoothDevice.EXTRA_DEVICE, device);
+        if (mScreenType == SCREEN_TYPE_DEVICEPICKER &&
+                mLaunchPackage != null && mLaunchClass != null) {
             intent.setClassName(mLaunchPackage, mLaunchClass);
         }
-        intent.putExtra(BluetoothDevice.EXTRA_DEVICE, device);
         sendBroadcast(intent);
     }
 }
diff --git a/src/com/android/settings/bluetooth/CachedBluetoothDevice.java b/src/com/android/settings/bluetooth/CachedBluetoothDevice.java
index b78427b..5f374a5 100644
--- a/src/com/android/settings/bluetooth/CachedBluetoothDevice.java
+++ b/src/com/android/settings/bluetooth/CachedBluetoothDevice.java
@@ -56,6 +56,9 @@
     private static final int CONTEXT_ITEM_UNPAIR = Menu.FIRST + 3;
     private static final int CONTEXT_ITEM_CONNECT_ADVANCED = Menu.FIRST + 4;
 
+    public static final int PAN_PROFILE = 1;
+    public static final int OTHER_PROFILES = 2;
+
     private final BluetoothDevice mDevice;
     private String mName;
     private short mRssi;
@@ -559,6 +562,12 @@
                     Log.v(TAG, "opp classbits != uuid");
                     printUuids = true;
                 }
+
+                if (bluetoothClass.doesClassMatch(BluetoothClass.PROFILE_HID) !=
+                    mProfiles.contains(Profile.HID)) {
+                    Log.v(TAG, "hid classbits != uuid");
+                    printUuids = true;
+                }
             }
 
             if (printUuids) {
@@ -619,9 +628,9 @@
         }
     }
 
-    public int getSummary() {
+    public int getSummary(int accessibleProfile) {
         // TODO: clean up
-        int oneOffSummary = getOneOffSummary();
+        int oneOffSummary = getOneOffSummary(accessibleProfile);
         if (oneOffSummary != 0) {
             return oneOffSummary;
         }
@@ -647,23 +656,43 @@
      *
      * @return A one-off summary that is applicable for the current state, or 0.
      */
-    private int getOneOffSummary() {
-        boolean isA2dpConnected = false, isHeadsetConnected = false, isConnecting = false;
+    private int getOneOffSummary(int accessibleProfile) {
+        boolean isA2dpConnected = false;
+        boolean isHeadsetConnected = false;
+        boolean isHidConnected = false;
+        boolean isPanConnected = false;
+        boolean isConnecting = false;
 
-        if (mProfiles.contains(Profile.A2DP)) {
-            LocalBluetoothProfileManager profileManager = LocalBluetoothProfileManager
-                    .getProfileManager(mLocalManager, Profile.A2DP);
-            isConnecting = profileManager.getConnectionStatus(mDevice) ==
-                    SettingsBtStatus.CONNECTION_STATUS_CONNECTING;
-            isA2dpConnected = profileManager.isConnected(mDevice);
-        }
+        if (accessibleProfile == OTHER_PROFILES) {
+            if (mProfiles.contains(Profile.A2DP)) {
+                LocalBluetoothProfileManager profileManager = LocalBluetoothProfileManager
+                        .getProfileManager(mLocalManager, Profile.A2DP);
+                isConnecting = profileManager.getConnectionStatus(mDevice) ==
+                        SettingsBtStatus.CONNECTION_STATUS_CONNECTING;
+                isA2dpConnected = profileManager.isConnected(mDevice);
+            }
 
-        if (mProfiles.contains(Profile.HEADSET)) {
+            if (mProfiles.contains(Profile.HEADSET)) {
+                LocalBluetoothProfileManager profileManager = LocalBluetoothProfileManager
+                        .getProfileManager(mLocalManager, Profile.HEADSET);
+                isConnecting |= profileManager.getConnectionStatus(mDevice) ==
+                        SettingsBtStatus.CONNECTION_STATUS_CONNECTING;
+                isHeadsetConnected = profileManager.isConnected(mDevice);
+            }
+
+            if (mProfiles.contains(Profile.HID)) {
+                LocalBluetoothProfileManager profileManager = LocalBluetoothProfileManager
+                        .getProfileManager(mLocalManager, Profile.HID);
+                isConnecting |= profileManager.getConnectionStatus(mDevice) ==
+                        SettingsBtStatus.CONNECTION_STATUS_CONNECTING;
+                isHidConnected = profileManager.isConnected(mDevice);
+            }
+        } else if (accessibleProfile == PAN_PROFILE && mProfiles.contains(Profile.PAN)) {
             LocalBluetoothProfileManager profileManager = LocalBluetoothProfileManager
-                    .getProfileManager(mLocalManager, Profile.HEADSET);
+                    .getProfileManager(mLocalManager, Profile.PAN);
             isConnecting |= profileManager.getConnectionStatus(mDevice) ==
                     SettingsBtStatus.CONNECTION_STATUS_CONNECTING;
-            isHeadsetConnected = profileManager.isConnected(mDevice);
+            isPanConnected = profileManager.isConnected(mDevice);
         }
 
         if (isConnecting) {
@@ -676,6 +705,10 @@
             return R.string.bluetooth_summary_connected_to_a2dp;
         } else if (isHeadsetConnected) {
             return R.string.bluetooth_summary_connected_to_headset;
+        } else if (isHidConnected) {
+            return R.string.bluetooth_summary_connected_to_hid;
+        } else if (isPanConnected) {
+            return R.string.bluetooth_summary_connected_to_pan;
         } else {
             return 0;
         }
@@ -692,7 +725,8 @@
     }
 
     private boolean isConnectableProfile(Profile profile) {
-        return profile.equals(Profile.HEADSET) || profile.equals(Profile.A2DP);
+        return profile.equals(Profile.HEADSET) || profile.equals(Profile.A2DP) ||
+                profile.equals(Profile.HID);
     }
 
     public void onCreateContextMenu(ContextMenu menu) {
diff --git a/src/com/android/settings/bluetooth/ConnectSpecificProfilesActivity.java b/src/com/android/settings/bluetooth/ConnectSpecificProfilesActivity.java
index 2a8af5f..ab769a7 100644
--- a/src/com/android/settings/bluetooth/ConnectSpecificProfilesActivity.java
+++ b/src/com/android/settings/bluetooth/ConnectSpecificProfilesActivity.java
@@ -232,7 +232,8 @@
          * If the device is online, show status. Otherwise, show a summary that
          * describes what the checkbox does.
          */
-        mOnlineModePreference.setSummary(mOnlineMode ? mCachedDevice.getSummary()
+        mOnlineModePreference.setSummary(mOnlineMode ?
+                mCachedDevice.getSummary(CachedBluetoothDevice.OTHER_PROFILES)
                 : R.string.bluetooth_device_advanced_online_mode_summary);
     }
 
@@ -299,6 +300,8 @@
                 return R.string.bluetooth_a2dp_profile_summary_use_for;
             case HEADSET:
                 return R.string.bluetooth_headset_profile_summary_use_for;
+            case HID:
+                return R.string.bluetooth_hid_profile_summary_use_for;
             default:
                 return 0;
         }
diff --git a/src/com/android/settings/bluetooth/LocalBluetoothProfileManager.java b/src/com/android/settings/bluetooth/LocalBluetoothProfileManager.java
index 01714fe..6193a4e 100644
--- a/src/com/android/settings/bluetooth/LocalBluetoothProfileManager.java
+++ b/src/com/android/settings/bluetooth/LocalBluetoothProfileManager.java
@@ -21,6 +21,8 @@
 import android.bluetooth.BluetoothA2dp;
 import android.bluetooth.BluetoothDevice;
 import android.bluetooth.BluetoothHeadset;
+import android.bluetooth.BluetoothInputDevice;
+import android.bluetooth.BluetoothPan;
 import android.bluetooth.BluetoothUuid;
 import android.os.Handler;
 import android.os.ParcelUuid;
@@ -55,6 +57,18 @@
         BluetoothUuid.ObexObjectPush
     };
 
+    /* package */ static final ParcelUuid[] HID_PROFILE_UUIDS = new ParcelUuid[] {
+        BluetoothUuid.Hid
+    };
+
+    /* package */ static final ParcelUuid[] PANU_PROFILE_UUIDS = new ParcelUuid[] {
+        BluetoothUuid.PANU
+    };
+
+    /* package */ static final ParcelUuid[] NAP_PROFILE_UUIDS = new ParcelUuid[] {
+        BluetoothUuid.NAP
+    };
+
     /**
      * An interface for notifying BluetoothHeadset IPC clients when they have
      * been connected to the BluetoothHeadset service.
@@ -97,6 +111,12 @@
 
                 profileManager = new OppProfileManager(localManager);
                 sProfileMap.put(Profile.OPP, profileManager);
+
+                profileManager = new HidProfileManager(localManager);
+                sProfileMap.put(Profile.HID, profileManager);
+
+                profileManager = new PanProfileManager(localManager);
+                sProfileMap.put(Profile.PAN, profileManager);
             }
         }
     }
@@ -161,6 +181,14 @@
         if (BluetoothUuid.containsAnyUuid(uuids, OPP_PROFILE_UUIDS)) {
             profiles.add(Profile.OPP);
         }
+
+        if (BluetoothUuid.containsAnyUuid(uuids, HID_PROFILE_UUIDS)) {
+            profiles.add(Profile.HID);
+        }
+
+        if (BluetoothUuid.containsAnyUuid(uuids, PANU_PROFILE_UUIDS)) {
+            profiles.add(Profile.PAN);
+        }
     }
 
     protected LocalBluetoothProfileManager(LocalBluetoothManager localManager) {
@@ -195,7 +223,9 @@
     public enum Profile {
         HEADSET(R.string.bluetooth_profile_headset),
         A2DP(R.string.bluetooth_profile_a2dp),
-        OPP(R.string.bluetooth_profile_opp);
+        OPP(R.string.bluetooth_profile_opp),
+        HID(R.string.bluetooth_profile_hid),
+        PAN(R.string.bluetooth_profile_pan);
 
         public final int localizedString;
 
@@ -518,4 +548,162 @@
             }
         }
     }
+
+    private static class HidProfileManager extends LocalBluetoothProfileManager {
+        private BluetoothInputDevice mService;
+
+        public HidProfileManager(LocalBluetoothManager localManager) {
+            super(localManager);
+            mService = new BluetoothInputDevice(localManager.getContext());
+        }
+
+        @Override
+        public boolean connect(BluetoothDevice device) {
+            return mService.connectInputDevice(device);
+        }
+
+        @Override
+        public int convertState(int hidState) {
+            switch (hidState) {
+            case BluetoothInputDevice.STATE_CONNECTED:
+                return SettingsBtStatus.CONNECTION_STATUS_CONNECTED;
+            case BluetoothInputDevice.STATE_CONNECTING:
+                return SettingsBtStatus.CONNECTION_STATUS_CONNECTING;
+            case BluetoothInputDevice.STATE_DISCONNECTED:
+                return SettingsBtStatus.CONNECTION_STATUS_DISCONNECTED;
+            case BluetoothInputDevice.STATE_DISCONNECTING:
+                return SettingsBtStatus.CONNECTION_STATUS_DISCONNECTING;
+            default:
+                return SettingsBtStatus.CONNECTION_STATUS_UNKNOWN;
+            }
+        }
+
+        @Override
+        public boolean disconnect(BluetoothDevice device) {
+            return mService.disconnectInputDevice(device);
+        }
+
+        @Override
+        public Set<BluetoothDevice> getConnectedDevices() {
+            return mService.getConnectedInputDevices();
+        }
+
+        @Override
+        public int getConnectionStatus(BluetoothDevice device) {
+            return convertState(mService.getInputDeviceState(device));
+        }
+
+        @Override
+        public int getPreferred(BluetoothDevice device) {
+            return mService.getInputDevicePriority(device);
+        }
+
+        @Override
+        public int getSummary(BluetoothDevice device) {
+            final int connectionStatus = getConnectionStatus(device);
+
+            if (SettingsBtStatus.isConnectionStatusConnected(connectionStatus)) {
+                return R.string.bluetooth_hid_profile_summary_connected;
+            } else {
+                return SettingsBtStatus.getConnectionStatusSummary(connectionStatus);
+            }
+        }
+
+        @Override
+        public boolean isPreferred(BluetoothDevice device) {
+            return mService.getInputDevicePriority(device) > BluetoothInputDevice.PRIORITY_OFF;
+        }
+
+        @Override
+        public boolean isProfileReady() {
+            return true;
+        }
+
+        @Override
+        public void setPreferred(BluetoothDevice device, boolean preferred) {
+            if (preferred) {
+                if (mService.getInputDevicePriority(device) < BluetoothInputDevice.PRIORITY_ON) {
+                    mService.setInputDevicePriority(device, BluetoothInputDevice.PRIORITY_ON);
+                }
+            } else {
+                mService.setInputDevicePriority(device, BluetoothInputDevice.PRIORITY_OFF);
+            }
+        }
+    }
+
+    private static class PanProfileManager extends LocalBluetoothProfileManager {
+        private BluetoothPan mService;
+
+        public PanProfileManager(LocalBluetoothManager localManager) {
+            super(localManager);
+            mService = new BluetoothPan(localManager.getContext());
+        }
+
+        @Override
+        public boolean connect(BluetoothDevice device) {
+            return mService.connect(device);
+        }
+
+        @Override
+        public int convertState(int panState) {
+            switch (panState) {
+            case BluetoothPan.STATE_CONNECTED:
+                return SettingsBtStatus.CONNECTION_STATUS_CONNECTED;
+            case BluetoothPan.STATE_CONNECTING:
+                return SettingsBtStatus.CONNECTION_STATUS_CONNECTING;
+            case BluetoothPan.STATE_DISCONNECTED:
+                return SettingsBtStatus.CONNECTION_STATUS_DISCONNECTED;
+            case BluetoothPan.STATE_DISCONNECTING:
+                return SettingsBtStatus.CONNECTION_STATUS_DISCONNECTING;
+            default:
+                return SettingsBtStatus.CONNECTION_STATUS_UNKNOWN;
+            }
+        }
+
+        @Override
+        public boolean disconnect(BluetoothDevice device) {
+            return mService.disconnect(device);
+        }
+
+        @Override
+        public int getSummary(BluetoothDevice device) {
+            final int connectionStatus = getConnectionStatus(device);
+
+            if (SettingsBtStatus.isConnectionStatusConnected(connectionStatus)) {
+                return R.string.bluetooth_pan_profile_summary_connected;
+            } else {
+                return SettingsBtStatus.getConnectionStatusSummary(connectionStatus);
+            }
+        }
+
+        @Override
+        public boolean isProfileReady() {
+            return true;
+        }
+
+        @Override
+        public Set<BluetoothDevice> getConnectedDevices() {
+            return mService.getConnectedDevices();
+        }
+
+        @Override
+        public int getConnectionStatus(BluetoothDevice device) {
+            return convertState(mService.getPanDeviceState(device));
+        }
+
+        @Override
+        public int getPreferred(BluetoothDevice device) {
+            return -1;
+        }
+
+        @Override
+        public boolean isPreferred(BluetoothDevice device) {
+            return false;
+        }
+
+        @Override
+        public void setPreferred(BluetoothDevice device, boolean preferred) {
+            return;
+        }
+    }
 }
diff --git a/src/com/android/settings/deviceinfo/Memory.java b/src/com/android/settings/deviceinfo/Memory.java
index b574849..e22c39d 100644
--- a/src/com/android/settings/deviceinfo/Memory.java
+++ b/src/com/android/settings/deviceinfo/Memory.java
@@ -16,6 +16,9 @@
 
 package com.android.settings.deviceinfo;
 
+import com.android.settings.R;
+import com.android.settings.SettingsPreferenceFragment;
+
 import android.app.ActivityManager;
 import android.app.AlertDialog;
 import android.app.Dialog;
@@ -26,35 +29,29 @@
 import android.content.IntentFilter;
 import android.content.DialogInterface.OnCancelListener;
 import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageManager;
-import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.res.Resources;
 import android.os.Bundle;
-import android.os.Handler;
-import android.os.IBinder;
-import android.os.Message;
-import android.os.RemoteException;
+import android.hardware.Usb;
 import android.os.Environment;
-import android.os.storage.IMountService;
+import android.os.IBinder;
+import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.os.StatFs;
-import android.os.storage.StorageManager;
+import android.os.storage.IMountService;
 import android.os.storage.StorageEventListener;
+import android.os.storage.StorageManager;
+import android.preference.CheckBoxPreference;
 import android.preference.Preference;
-import android.preference.PreferenceActivity;
 import android.preference.PreferenceScreen;
+import android.provider.Settings;
 import android.text.format.Formatter;
 import android.util.Log;
 import android.widget.Toast;
 
-import com.android.settings.R;
-
 import java.io.File;
-import java.util.HashSet;
 import java.util.List;
-import java.util.Set;
 
-public class Memory extends PreferenceActivity implements OnCancelListener {
+public class Memory extends SettingsPreferenceFragment implements OnCancelListener {
     private static final String TAG = "Memory";
     private static final boolean localLOGV = false;
 
@@ -66,6 +63,8 @@
 
     private static final String MEMORY_SD_FORMAT = "memory_sd_format";
 
+    private static final String PTP_MODE_TOGGLE = "ptp_mode_toggle";
+
     private static final int DLG_CONFIRM_UNMOUNT = 1;
     private static final int DLG_ERROR_UNMOUNT = 2;
 
@@ -75,6 +74,7 @@
     private Preference mSdAvail;
     private Preference mSdMountToggle;
     private Preference mSdFormat;
+    private CheckBoxPreference mPtpModeToggle;
     
     // Access using getMountService()
     private IMountService mMountService = null;
@@ -82,7 +82,7 @@
     private StorageManager mStorageManager = null;
 
     @Override
-    protected void onCreate(Bundle icicle) {
+    public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
 
         if (mStorageManager == null) {
@@ -97,16 +97,26 @@
         mSdAvail = findPreference(MEMORY_SD_AVAIL);
         mSdMountToggle = findPreference(MEMORY_SD_MOUNT_TOGGLE);
         mSdFormat = findPreference(MEMORY_SD_FORMAT);
+
+        mPtpModeToggle = (CheckBoxPreference)findPreference(PTP_MODE_TOGGLE);
+        if (Usb.isFunctionSupported(Usb.USB_FUNCTION_MTP)) {
+            mPtpModeToggle.setChecked(Settings.System.getInt(
+                    getContentResolver(),
+                    Settings.System.USE_PTP_INTERFACE, 0) != 0);
+        } else {
+            // hide the PTP mode toggle checkbox if MTP is not supported
+            getPreferenceScreen().removePreference(mPtpModeToggle);
+        }
     }
     
     @Override
-    protected void onResume() {
+    public void onResume() {
         super.onResume();
         
         IntentFilter intentFilter = new IntentFilter(Intent.ACTION_MEDIA_SCANNER_STARTED);
         intentFilter.addAction(Intent.ACTION_MEDIA_SCANNER_FINISHED);
         intentFilter.addDataScheme("file");
-        registerReceiver(mReceiver, intentFilter);
+        getActivity().registerReceiver(mReceiver, intentFilter);
 
         updateMemoryStatus();
     }
@@ -123,13 +133,13 @@
     };
     
     @Override
-    protected void onPause() {
+    public void onPause() {
         super.onPause();
-        unregisterReceiver(mReceiver);
+        getActivity().unregisterReceiver(mReceiver);
     }
 
     @Override
-    protected void onDestroy() {
+    public void onDestroy() {
         if (mStorageManager != null && mStorageListener != null) {
             mStorageManager.unregisterListener(mStorageListener);
         }
@@ -160,11 +170,16 @@
             return true;
         } else if (preference == mSdFormat) {
             Intent intent = new Intent(Intent.ACTION_VIEW);
-            intent.setClass(this, com.android.settings.MediaFormat.class);
+            intent.setClass(getActivity(), com.android.settings.MediaFormat.class);
             startActivity(intent);
             return true;
+        } else if (preference == mPtpModeToggle) {
+            Settings.System.putInt(getContentResolver(),
+                    Settings.System.USE_PTP_INTERFACE,
+                    mPtpModeToggle.isChecked() ? 1 : 0);
+            return true;
         }
-        
+
         return false;
     }
      
@@ -176,10 +191,10 @@
     };
 
     @Override
-    public Dialog onCreateDialog(int id, Bundle args) {
+    public Dialog onCreateDialog(int id) {
         switch (id) {
         case DLG_CONFIRM_UNMOUNT:
-            return new AlertDialog.Builder(this)
+                return new AlertDialog.Builder(getActivity())
                     .setTitle(R.string.dlg_confirm_unmount_title)
                     .setPositiveButton(R.string.dlg_ok, new DialogInterface.OnClickListener() {
                         public void onClick(DialogInterface dialog, int which) {
@@ -190,7 +205,7 @@
                     .setOnCancelListener(this)
                     .create();
         case DLG_ERROR_UNMOUNT:
-            return new AlertDialog.Builder(this                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            )
+                return new AlertDialog.Builder(getActivity())
             .setTitle(R.string.dlg_error_unmount_title)
             .setNeutralButton(R.string.dlg_ok, null)
             .setMessage(R.string.dlg_error_unmount_text)
@@ -202,7 +217,7 @@
 
     private void doUnmount(boolean force) {
         // Present a toast here
-        Toast.makeText(this, R.string.unmount_inform_text, Toast.LENGTH_SHORT).show();
+        Toast.makeText(getActivity(), R.string.unmount_inform_text, Toast.LENGTH_SHORT).show();
         IMountService mountService = getMountService();
         String extStoragePath = Environment.getExternalStorageDirectory().toString();
         try {
@@ -225,7 +240,6 @@
     private boolean hasAppsAccessingStorage() throws RemoteException {
         String extStoragePath = Environment.getExternalStorageDirectory().toString();
         IMountService mountService = getMountService();
-        boolean showPidDialog = false;
         int stUsers[] = mountService.getStorageUsers(extStoragePath);
         if (stUsers != null && stUsers.length > 0) {
             return true;
@@ -325,11 +339,12 @@
     }
     
     private String formatSize(long size) {
-        return Formatter.formatFileSize(this, size);
+        return Formatter.formatFileSize(getActivity(), size);
     }
 
     public void onCancel(DialogInterface dialog) {
-        finish();
+        // TODO: Is this really required?
+        // finish();
     }
     
 }
diff --git a/src/com/android/settings/wifi/WifiApDialog.java b/src/com/android/settings/wifi/WifiApDialog.java
index 43289d2..fde6efc 100644
--- a/src/com/android/settings/wifi/WifiApDialog.java
+++ b/src/com/android/settings/wifi/WifiApDialog.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.wifi;
 
-import com.android.settings.R;
-
 import android.app.AlertDialog;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -28,16 +26,15 @@
 import android.text.Editable;
 import android.text.InputType;
 import android.text.TextWatcher;
-import android.util.Log;
 import android.view.View;
-import android.view.ViewGroup;
 import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
 import android.widget.CheckBox;
 import android.widget.EditText;
 import android.widget.Spinner;
 import android.widget.TextView;
 
+import com.android.settings.R;
+
 /**
  * Dialog to configure the SSID and security settings
  * for Access Point operation
@@ -97,6 +94,7 @@
         return null;
     }
 
+    @Override
     protected void onCreate(Bundle savedInstanceState) {
 
         mView = getLayoutInflater().inflate(R.layout.wifi_ap_dialog, null);
@@ -167,7 +165,8 @@
         validate();
     }
 
-    public void onItemSelected(AdapterView parent, View view, int position, long id) {
+    @Override
+    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
         if(position == OPEN_INDEX)
             mSecurityType = AccessPoint.SECURITY_NONE;
         else
@@ -176,7 +175,8 @@
         validate();
     }
 
-    public void onNothingSelected(AdapterView parent) {
+    @Override
+    public void onNothingSelected(AdapterView<?> parent) {
     }
 
     private void showSecurityFields() {
diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java
index d389cae..5332fb3 100644
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ b/src/com/android/settings/wifi/WifiSettings.java
@@ -16,21 +16,19 @@
 
 package com.android.settings.wifi;
 
-import com.android.settings.ProgressCategory;
-import com.android.settings.R;
-
+import android.app.Activity;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.IntentFilter;
+import android.net.ConnectivityManager;
 import android.net.NetworkInfo;
 import android.net.NetworkInfo.DetailedState;
 import android.net.wifi.ScanResult;
 import android.net.wifi.SupplicantState;
 import android.net.wifi.WifiConfiguration;
 import android.net.wifi.WifiConfiguration.KeyMgmt;
-import android.net.wifi.WifiConfiguration.Status;
 import android.net.wifi.WifiInfo;
 import android.net.wifi.WifiManager;
 import android.os.Bundle;
@@ -38,30 +36,38 @@
 import android.os.Message;
 import android.preference.CheckBoxPreference;
 import android.preference.Preference;
-import android.preference.PreferenceActivity;
 import android.preference.PreferenceScreen;
 import android.provider.Settings.Secure;
 import android.security.Credentials;
 import android.security.KeyStore;
-import android.text.TextUtils;
+import android.util.Log;
 import android.view.ContextMenu;
 import android.view.ContextMenu.ContextMenuInfo;
 import android.view.Menu;
+import android.view.MenuInflater;
 import android.view.MenuItem;
 import android.view.View;
 import android.widget.AdapterView.AdapterContextMenuInfo;
 import android.widget.Toast;
 
+import com.android.settings.ProgressCategory;
+import com.android.settings.R;
+import com.android.settings.SettingsPreferenceFragment;
+
 import java.util.ArrayList;
 import java.util.List;
 
-public class WifiSettings extends PreferenceActivity implements DialogInterface.OnClickListener {
+public class WifiSettings extends SettingsPreferenceFragment
+        implements DialogInterface.OnClickListener {
     private static final int MENU_ID_SCAN = Menu.FIRST;
     private static final int MENU_ID_ADVANCED = Menu.FIRST + 1;
     private static final int MENU_ID_CONNECT = Menu.FIRST + 2;
     private static final int MENU_ID_FORGET = Menu.FIRST + 3;
     private static final int MENU_ID_MODIFY = Menu.FIRST + 4;
 
+    // this boolean extra specifies whether to disable the Next button when not connected
+    private static final String EXTRA_ENABLE_NEXT_ON_CONNECT = "wifi_enable_next_on_connect";
+
     private final IntentFilter mFilter;
     private final BroadcastReceiver mReceiver;
     private final Scanner mScanner;
@@ -74,20 +80,22 @@
 
     private DetailedState mLastState;
     private WifiInfo mLastInfo;
-    private int mLastPriority;
 
-    private boolean mResetNetworks = false;
     private int mKeyStoreNetworkId = -1;
 
     private AccessPoint mSelected;
     private WifiDialog mDialog;
 
+    // should Next button only be enabled when we have a connection?
+    private boolean mEnableNextOnConnection;
+
     public WifiSettings() {
         mFilter = new IntentFilter();
         mFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
         mFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
         mFilter.addAction(WifiManager.NETWORK_IDS_CHANGED_ACTION);
         mFilter.addAction(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION);
+        mFilter.addAction(WifiManager.SUPPLICANT_CONFIG_CHANGED_ACTION);
         mFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
         mFilter.addAction(WifiManager.RSSI_CHANGED_ACTION);
 
@@ -102,16 +110,33 @@
     }
 
     @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
+    public void onActivityCreated(Bundle savedInstanceState) {
+        // We don't call super.onActivityCreated() here, since it assumes we already set up
+        // Preference (probably in onCreate()), while WifiSettings exceptionally set it up in
+        // this method.
 
         mWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
 
-        if (getIntent().getBooleanExtra("only_access_points", false)) {
+        final Activity activity = getActivity();
+        final Intent intent = activity.getIntent();
+
+        // if we're supposed to enable/disable the Next button based on our current connection
+        // state, start it off in the right state
+        mEnableNextOnConnection = intent.getBooleanExtra(EXTRA_ENABLE_NEXT_ON_CONNECT, false);
+        if (mEnableNextOnConnection && hasNextButton()) {
+            ConnectivityManager connectivity = (ConnectivityManager)
+                getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
+            if (connectivity != null) {
+                NetworkInfo info = connectivity.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
+                getNextButton().setEnabled(info.isConnected());
+            }
+        }
+
+        if (intent.getBooleanExtra("only_access_points", false)) {
             addPreferencesFromResource(R.xml.wifi_access_points);
         } else {
             addPreferencesFromResource(R.xml.wifi_settings);
-            mWifiEnabler = new WifiEnabler(this,
+            mWifiEnabler = new WifiEnabler(activity,
                     (CheckBoxPreference) findPreference("enable_wifi"));
             mNotifyOpenNetworks =
                     (CheckBoxPreference) findPreference("notify_open_networks");
@@ -119,50 +144,53 @@
                     Secure.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON, 0) == 1);
         }
 
+        // After confirming PreferenceScreen is available, we call super.
+        super.onActivityCreated(savedInstanceState);
+
         mAccessPoints = (ProgressCategory) findPreference("access_points");
         mAccessPoints.setOrderingAsAdded(false);
         mAddNetwork = findPreference("add_network");
 
         registerForContextMenu(getListView());
+
+        setHasOptionsMenu(true);
     }
 
     @Override
-    protected void onResume() {
+    public void onResume() {
         super.onResume();
         if (mWifiEnabler != null) {
             mWifiEnabler.resume();
         }
-        registerReceiver(mReceiver, mFilter);
+        getActivity().registerReceiver(mReceiver, mFilter);
         if (mKeyStoreNetworkId != -1 && KeyStore.getInstance().test() == KeyStore.NO_ERROR) {
-            connect(mKeyStoreNetworkId);
+            mWifiManager.connectNetwork(mKeyStoreNetworkId);
         }
         mKeyStoreNetworkId = -1;
+        updateAccessPoints();
     }
 
     @Override
-    protected void onPause() {
+    public void onPause() {
         super.onPause();
         if (mWifiEnabler != null) {
             mWifiEnabler.pause();
         }
-        unregisterReceiver(mReceiver);
+        getActivity().unregisterReceiver(mReceiver);
         mScanner.pause();
         if (mDialog != null) {
             mDialog.dismiss();
             mDialog = null;
         }
-        if (mResetNetworks) {
-            enableNetworks();
-        }
     }
 
     @Override
-    public boolean onCreateOptionsMenu(Menu menu) {
+    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
         menu.add(Menu.NONE, MENU_ID_SCAN, 0, R.string.wifi_menu_scan)
                 .setIcon(R.drawable.ic_menu_scan_network);
         menu.add(Menu.NONE, MENU_ID_ADVANCED, 0, R.string.wifi_menu_advanced)
                 .setIcon(android.R.drawable.ic_menu_manage);
-        return super.onCreateOptionsMenu(menu);
+        super.onCreateOptionsMenu(menu, inflater);
     }
 
     @Override
@@ -174,7 +202,7 @@
                 }
                 return true;
             case MENU_ID_ADVANCED:
-                startActivity(new Intent(this, AdvancedSettings.class));
+                startActivity(new Intent(getActivity(), AdvancedSettings.class));
                 return true;
         }
         return super.onOptionsItemSelected(item);
@@ -211,22 +239,20 @@
             case MENU_ID_CONNECT:
                 if (mSelected.networkId != -1) {
                     if (!requireKeyStore(mSelected.getConfig())) {
-                        connect(mSelected.networkId);
+                        mWifiManager.connectNetwork(mSelected.networkId);
                     }
                 } else if (mSelected.security == AccessPoint.SECURITY_NONE) {
                     // Shortcut for open networks.
                     WifiConfiguration config = new WifiConfiguration();
                     config.SSID = AccessPoint.convertToQuotedString(mSelected.ssid);
                     config.allowedKeyManagement.set(KeyMgmt.NONE);
-                    int networkId = mWifiManager.addNetwork(config);
-                    mWifiManager.enableNetwork(networkId, false);
-                    connect(networkId);
+                    mWifiManager.connectNetwork(config);
                 } else {
                     showDialog(mSelected, false);
                 }
                 return true;
             case MENU_ID_FORGET:
-                forget(mSelected.networkId);
+                mWifiManager.forgetNetwork(mSelected.networkId);
                 return true;
             case MENU_ID_MODIFY:
                 showDialog(mSelected, true);
@@ -255,29 +281,23 @@
 
     public void onClick(DialogInterface dialogInterface, int button) {
         if (button == WifiDialog.BUTTON_FORGET && mSelected != null) {
-            forget(mSelected.networkId);
+            mWifiManager.forgetNetwork(mSelected.networkId);
         } else if (button == WifiDialog.BUTTON_SUBMIT && mDialog != null) {
             WifiConfiguration config = mDialog.getConfig();
 
             if (config == null) {
                 if (mSelected != null && !requireKeyStore(mSelected.getConfig())) {
-                    connect(mSelected.networkId);
+                    mWifiManager.connectNetwork(mSelected.networkId);
                 }
             } else if (config.networkId != -1) {
                 if (mSelected != null) {
-                    mWifiManager.updateNetwork(config);
-                    saveNetworks();
+                    mWifiManager.saveNetwork(config);
                 }
             } else {
-                int networkId = mWifiManager.addNetwork(config);
-                if (networkId != -1) {
-                    mWifiManager.enableNetwork(networkId, false);
-                    config.networkId = networkId;
-                    if (mDialog.edit || requireKeyStore(config)) {
-                        saveNetworks();
-                    } else {
-                        connect(networkId);
-                    }
+                if (mDialog.edit || requireKeyStore(config)) {
+                    mWifiManager.saveNetwork(config);
+                } else {
+                    mWifiManager.connectNetwork(config);
                 }
             }
         }
@@ -287,7 +307,7 @@
         if (mDialog != null) {
             mDialog.dismiss();
         }
-        mDialog = new WifiDialog(this, this, accessPoint, edit);
+        mDialog = new WifiDialog(getActivity(), this, accessPoint, edit);
         mDialog.show();
     }
 
@@ -295,85 +315,19 @@
         if (WifiDialog.requireKeyStore(config) &&
                 KeyStore.getInstance().test() != KeyStore.NO_ERROR) {
             mKeyStoreNetworkId = config.networkId;
-            Credentials.getInstance().unlock(this);
+            Credentials.getInstance().unlock(getActivity());
             return true;
         }
         return false;
     }
 
-    private void forget(int networkId) {
-        mWifiManager.removeNetwork(networkId);
-        saveNetworks();
-    }
-
-    private void connect(int networkId) {
-        if (networkId == -1) {
-            return;
-        }
-
-        // Reset the priority of each network if it goes too high.
-        if (mLastPriority > 1000000) {
-            for (int i = mAccessPoints.getPreferenceCount() - 1; i >= 0; --i) {
-                AccessPoint accessPoint = (AccessPoint) mAccessPoints.getPreference(i);
-                if (accessPoint.networkId != -1) {
-                    WifiConfiguration config = new WifiConfiguration();
-                    config.networkId = accessPoint.networkId;
-                    config.priority = 0;
-                    mWifiManager.updateNetwork(config);
-                }
-            }
-            mLastPriority = 0;
-        }
-
-        // Set to the highest priority and save the configuration.
-        WifiConfiguration config = new WifiConfiguration();
-        config.networkId = networkId;
-        config.priority = ++mLastPriority;
-        mWifiManager.updateNetwork(config);
-        saveNetworks();
-
-        // Connect to network by disabling others.
-        mWifiManager.enableNetwork(networkId, true);
-        mWifiManager.reconnect();
-        mResetNetworks = true;
-    }
-
-    private void enableNetworks() {
-        for (int i = mAccessPoints.getPreferenceCount() - 1; i >= 0; --i) {
-            WifiConfiguration config = ((AccessPoint) mAccessPoints.getPreference(i)).getConfig();
-            if (config != null && config.status != Status.ENABLED) {
-                mWifiManager.enableNetwork(config.networkId, false);
-            }
-        }
-        mResetNetworks = false;
-    }
-
-    private void saveNetworks() {
-        // Always save the configuration with all networks enabled.
-        enableNetworks();
-        mWifiManager.saveConfiguration();
-        updateAccessPoints();
-    }
-
     private void updateAccessPoints() {
         List<AccessPoint> accessPoints = new ArrayList<AccessPoint>();
 
         List<WifiConfiguration> configs = mWifiManager.getConfiguredNetworks();
         if (configs != null) {
-            mLastPriority = 0;
             for (WifiConfiguration config : configs) {
-                if (config.priority > mLastPriority) {
-                    mLastPriority = config.priority;
-                }
-
-                // Shift the status to make enableNetworks() more efficient.
-                if (config.status == Status.CURRENT) {
-                    config.status = Status.ENABLED;
-                } else if (mResetNetworks && config.status == Status.DISABLED) {
-                    config.status = Status.CURRENT;
-                }
-
-                AccessPoint accessPoint = new AccessPoint(this, config);
+                AccessPoint accessPoint = new AccessPoint(getActivity(), config);
                 accessPoint.update(mLastInfo, mLastState);
                 accessPoints.add(accessPoint);
             }
@@ -395,7 +349,7 @@
                     }
                 }
                 if (!found) {
-                    accessPoints.add(new AccessPoint(this, result));
+                    accessPoints.add(new AccessPoint(getActivity(), result));
                 }
             }
         }
@@ -411,19 +365,19 @@
         if (WifiManager.WIFI_STATE_CHANGED_ACTION.equals(action)) {
             updateWifiState(intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE,
                     WifiManager.WIFI_STATE_UNKNOWN));
-        } else if (WifiManager.SCAN_RESULTS_AVAILABLE_ACTION.equals(action)) {
-            updateAccessPoints();
-        } else if (WifiManager.NETWORK_IDS_CHANGED_ACTION.equals(action)) {
-            if (mSelected != null && mSelected.networkId != -1) {
-                mSelected = null;
-            }
+        } else if (WifiManager.SCAN_RESULTS_AVAILABLE_ACTION.equals(action) ||
+                WifiManager.SUPPLICANT_CONFIG_CHANGED_ACTION.equals(action)) {
             updateAccessPoints();
         } else if (WifiManager.SUPPLICANT_STATE_CHANGED_ACTION.equals(action)) {
             updateConnectionState(WifiInfo.getDetailedStateOf((SupplicantState)
                     intent.getParcelableExtra(WifiManager.EXTRA_NEW_STATE)));
         } else if (WifiManager.NETWORK_STATE_CHANGED_ACTION.equals(action)) {
-            updateConnectionState(((NetworkInfo) intent.getParcelableExtra(
-                    WifiManager.EXTRA_NETWORK_INFO)).getDetailedState());
+            NetworkInfo info = (NetworkInfo) intent.getParcelableExtra(
+                    WifiManager.EXTRA_NETWORK_INFO);
+            if (mEnableNextOnConnection && hasNextButton()) {
+                getNextButton().setEnabled(info.isConnected());
+            }
+            updateConnectionState(info.getDetailedState());
         } else if (WifiManager.RSSI_CHANGED_ACTION.equals(action)) {
             updateConnectionState(null);
         }
@@ -450,18 +404,11 @@
         for (int i = mAccessPoints.getPreferenceCount() - 1; i >= 0; --i) {
             ((AccessPoint) mAccessPoints.getPreference(i)).update(mLastInfo, mLastState);
         }
-
-        if (mResetNetworks && (state == DetailedState.CONNECTED ||
-                state == DetailedState.DISCONNECTED || state == DetailedState.FAILED)) {
-            updateAccessPoints();
-            enableNetworks();
-        }
     }
 
     private void updateWifiState(int state) {
         if (state == WifiManager.WIFI_STATE_ENABLED) {
             mScanner.resume();
-            updateAccessPoints();
         } else {
             mScanner.pause();
             mAccessPoints.removeAll();
@@ -489,12 +436,13 @@
                 mRetry = 0;
             } else if (++mRetry >= 3) {
                 mRetry = 0;
-                Toast.makeText(WifiSettings.this, R.string.wifi_fail_to_scan,
+                Toast.makeText(getActivity(), R.string.wifi_fail_to_scan,
                         Toast.LENGTH_LONG).show();
                 return;
             }
             mAccessPoints.setProgress(mRetry != 0);
-            sendEmptyMessageDelayed(0, 6000);
+            // Combo scans can take 5-6s to complete. Increase interval to 10s.
+            sendEmptyMessageDelayed(0, 10000);
         }
     }
 }
diff --git a/tests/res/values-cs/strings.xml b/tests/res/values-cs/strings.xml
index 6a6855f..595df44 100644
--- a/tests/res/values-cs/strings.xml
+++ b/tests/res/values-cs/strings.xml
@@ -19,4 +19,10 @@
     <string name="discoverable" msgid="3169265480789026010">"Viditelné"</string>
     <string name="start_scan" msgid="6035699220942169744">"Zahájit vyhledávání"</string>
     <string name="stop_scan" msgid="527546916633745779">"Zastavit vyhledávání"</string>
+    <string name="operator_hello" msgid="292208161864910159">"Ahoj operátore!"</string>
+    <string name="operator_settings_title" msgid="1410094511974808567">"Operátor"</string>
+    <string name="operator_settings_summary" msgid="5916597343019392258">"Háček výrobce, který lze použít ke spuštění vybrané činnosti"</string>
+    <string name="manufacturer_hello" msgid="7525744633645544137">"Ahoj výrobce!"</string>
+    <string name="manufacturer_settings_title" msgid="2503105049808838612">"Výrobce"</string>
+    <string name="manufacturer_settings_summary" msgid="766746044826063472">"Háček výrobce, který lze použít ke spuštění vybrané činnosti"</string>
 </resources>
diff --git a/tests/res/values-da/strings.xml b/tests/res/values-da/strings.xml
index f050a6d..b35af40 100644
--- a/tests/res/values-da/strings.xml
+++ b/tests/res/values-da/strings.xml
@@ -19,4 +19,10 @@
     <string name="discoverable" msgid="3169265480789026010">"Søgbar"</string>
     <string name="start_scan" msgid="6035699220942169744">"Start scanning"</string>
     <string name="stop_scan" msgid="527546916633745779">"Stop scanning"</string>
+    <string name="operator_hello" msgid="292208161864910159">"Hej udbyder!"</string>
+    <string name="operator_settings_title" msgid="1410094511974808567">"Udbyder"</string>
+    <string name="operator_settings_summary" msgid="5916597343019392258">"Udbydergenvej, der kan bruges til at starte en aktivitet"</string>
+    <string name="manufacturer_hello" msgid="7525744633645544137">"Hej producent!"</string>
+    <string name="manufacturer_settings_title" msgid="2503105049808838612">"Producent"</string>
+    <string name="manufacturer_settings_summary" msgid="766746044826063472">"Producentgenvej, der kan bruges til at starte en aktivitet"</string>
 </resources>
diff --git a/tests/res/values-de/strings.xml b/tests/res/values-de/strings.xml
index e6b624b..787a1d9 100644
--- a/tests/res/values-de/strings.xml
+++ b/tests/res/values-de/strings.xml
@@ -19,4 +19,10 @@
     <string name="discoverable" msgid="3169265480789026010">"Sichtbar"</string>
     <string name="start_scan" msgid="6035699220942169744">"Scan starten"</string>
     <string name="stop_scan" msgid="527546916633745779">"Scan stoppen"</string>
+    <string name="operator_hello" msgid="292208161864910159">"Hallo Operator!"</string>
+    <string name="operator_settings_title" msgid="1410094511974808567">"Operator"</string>
+    <string name="operator_settings_summary" msgid="5916597343019392258">"Aufhänger des Operators, mit dem eine gewünschte Aktivität gestartet werden kann"</string>
+    <string name="manufacturer_hello" msgid="7525744633645544137">"Hallo Hersteller!"</string>
+    <string name="manufacturer_settings_title" msgid="2503105049808838612">"Hersteller"</string>
+    <string name="manufacturer_settings_summary" msgid="766746044826063472">"Aufhänger des Herstellers, mit dem eine gewünschte Aktivität gestartet werden kann"</string>
 </resources>
diff --git a/tests/res/values-el/strings.xml b/tests/res/values-el/strings.xml
index 58c9131..04e7134 100644
--- a/tests/res/values-el/strings.xml
+++ b/tests/res/values-el/strings.xml
@@ -19,4 +19,10 @@
     <string name="discoverable" msgid="3169265480789026010">"Ανιχνεύσιμο"</string>
     <string name="start_scan" msgid="6035699220942169744">"Έναρξη σάρωσης"</string>
     <string name="stop_scan" msgid="527546916633745779">"Διακοπή σάρωσης"</string>
+    <string name="operator_hello" msgid="292208161864910159">"Γεια σου χειριστή!"</string>
+    <string name="operator_settings_title" msgid="1410094511974808567">"Χειριστής"</string>
+    <string name="operator_settings_summary" msgid="5916597343019392258">"Hook χειριστή που μπορεί να χρησιμοποιηθεί για την έναρξη της επιλεγμένης δραστηριότητας"</string>
+    <string name="manufacturer_hello" msgid="7525744633645544137">"Γεια σου κατασκευαστή!"</string>
+    <string name="manufacturer_settings_title" msgid="2503105049808838612">"Κατασκευαστής"</string>
+    <string name="manufacturer_settings_summary" msgid="766746044826063472">"Hook κατασκευαστή που μπορεί να χρησιμοποιηθεί για την έναρξη της επιλεγμένης δραστηριότητας"</string>
 </resources>
diff --git a/tests/res/values-es-rUS/strings.xml b/tests/res/values-es-rUS/strings.xml
index 9af4411..8fa1745 100644
--- a/tests/res/values-es-rUS/strings.xml
+++ b/tests/res/values-es-rUS/strings.xml
@@ -19,4 +19,10 @@
     <string name="discoverable" msgid="3169265480789026010">"Visible"</string>
     <string name="start_scan" msgid="6035699220942169744">"Comenzar lectura"</string>
     <string name="stop_scan" msgid="527546916633745779">"Detener lectura"</string>
+    <string name="operator_hello" msgid="292208161864910159">"¡Hola operador!"</string>
+    <string name="operator_settings_title" msgid="1410094511974808567">"Operador"</string>
+    <string name="operator_settings_summary" msgid="5916597343019392258">"Vínculo del operador que puede utilizarse para iniciar la actividad que elijas"</string>
+    <string name="manufacturer_hello" msgid="7525744633645544137">"¡Hola fabricante!"</string>
+    <string name="manufacturer_settings_title" msgid="2503105049808838612">"Fabricante"</string>
+    <string name="manufacturer_settings_summary" msgid="766746044826063472">"Vínculo del fabricante que puede utilizarse para iniciar la actividad que elijas"</string>
 </resources>
diff --git a/tests/res/values-es/strings.xml b/tests/res/values-es/strings.xml
index 59e26f7..0251e89 100644
--- a/tests/res/values-es/strings.xml
+++ b/tests/res/values-es/strings.xml
@@ -19,4 +19,10 @@
     <string name="discoverable" msgid="3169265480789026010">"Visible"</string>
     <string name="start_scan" msgid="6035699220942169744">"Iniciar búsqueda"</string>
     <string name="stop_scan" msgid="527546916633745779">"Detener búsqueda"</string>
+    <string name="operator_hello" msgid="292208161864910159">"¡Hola, operador!"</string>
+    <string name="operator_settings_title" msgid="1410094511974808567">"Operador"</string>
+    <string name="operator_settings_summary" msgid="5916597343019392258">"Enlace del operador que se puede utilizar para iniciar la selección"</string>
+    <string name="manufacturer_hello" msgid="7525744633645544137">"¡Hola, fabricante!"</string>
+    <string name="manufacturer_settings_title" msgid="2503105049808838612">"Fabricante"</string>
+    <string name="manufacturer_settings_summary" msgid="766746044826063472">"Enlace del fabricante que se puede utilizar para iniciar la selección"</string>
 </resources>
diff --git a/tests/res/values-fr/strings.xml b/tests/res/values-fr/strings.xml
index 35dbfd8..215706f 100644
--- a/tests/res/values-fr/strings.xml
+++ b/tests/res/values-fr/strings.xml
@@ -19,4 +19,10 @@
     <string name="discoverable" msgid="3169265480789026010">"Identifiable"</string>
     <string name="start_scan" msgid="6035699220942169744">"Démarrer la recherche"</string>
     <string name="stop_scan" msgid="527546916633745779">"Arrêter la recherche"</string>
+    <string name="operator_hello" msgid="292208161864910159">"Hello Operator!"</string>
+    <string name="operator_settings_title" msgid="1410094511974808567">"Opérateur"</string>
+    <string name="operator_settings_summary" msgid="5916597343019392258">"Accroche opérateur pouvant servir à démarrer l\'opération souhaitée"</string>
+    <string name="manufacturer_hello" msgid="7525744633645544137">"Hello Manufacturer!"</string>
+    <string name="manufacturer_settings_title" msgid="2503105049808838612">"Fabricant"</string>
+    <string name="manufacturer_settings_summary" msgid="766746044826063472">"Accroche fabricant pouvant servir à démarrer l\'opération souhaitée"</string>
 </resources>
diff --git a/tests/res/values-it/strings.xml b/tests/res/values-it/strings.xml
index fb1516c..9603f17 100644
--- a/tests/res/values-it/strings.xml
+++ b/tests/res/values-it/strings.xml
@@ -19,4 +19,10 @@
     <string name="discoverable" msgid="3169265480789026010">"Rilevabile"</string>
     <string name="start_scan" msgid="6035699220942169744">"Inizia scansione"</string>
     <string name="stop_scan" msgid="527546916633745779">"Interrompi scansione"</string>
+    <string name="operator_hello" msgid="292208161864910159">"Ciao operatore!"</string>
+    <string name="operator_settings_title" msgid="1410094511974808567">"Operatore"</string>
+    <string name="operator_settings_summary" msgid="5916597343019392258">"Collegamento all\'operatore utilizzabile per avviare l\'attività di propria scelta"</string>
+    <string name="manufacturer_hello" msgid="7525744633645544137">"Ciao produttore!"</string>
+    <string name="manufacturer_settings_title" msgid="2503105049808838612">"Produttore"</string>
+    <string name="manufacturer_settings_summary" msgid="766746044826063472">"Collegamento al produttore utilizzabile per avviare l\'attività di propria scelta"</string>
 </resources>
diff --git a/tests/res/values-ja/strings.xml b/tests/res/values-ja/strings.xml
index 8393110..b076771 100644
--- a/tests/res/values-ja/strings.xml
+++ b/tests/res/values-ja/strings.xml
@@ -19,4 +19,10 @@
     <string name="discoverable" msgid="3169265480789026010">"検出可能"</string>
     <string name="start_scan" msgid="6035699220942169744">"スキャンを開始"</string>
     <string name="stop_scan" msgid="527546916633745779">"スキャンを停止"</string>
+    <string name="operator_hello" msgid="292208161864910159">"オペレーター"</string>
+    <string name="operator_settings_title" msgid="1410094511974808567">"オペレーター"</string>
+    <string name="operator_settings_summary" msgid="5916597343019392258">"選択した操作を開始するためのオペレーターフック"</string>
+    <string name="manufacturer_hello" msgid="7525744633645544137">"メーカー"</string>
+    <string name="manufacturer_settings_title" msgid="2503105049808838612">"メーカー"</string>
+    <string name="manufacturer_settings_summary" msgid="766746044826063472">"選択した操作を開始するためのメーカーフック"</string>
 </resources>
diff --git a/tests/res/values-ko/strings.xml b/tests/res/values-ko/strings.xml
index 31516c6..2fde7ac 100644
--- a/tests/res/values-ko/strings.xml
+++ b/tests/res/values-ko/strings.xml
@@ -19,4 +19,10 @@
     <string name="discoverable" msgid="3169265480789026010">"검색 가능"</string>
     <string name="start_scan" msgid="6035699220942169744">"검색 시작"</string>
     <string name="stop_scan" msgid="527546916633745779">"검색 중지"</string>
+    <string name="operator_hello" msgid="292208161864910159">"운영자님, 안녕하세요."</string>
+    <string name="operator_settings_title" msgid="1410094511974808567">"운영자"</string>
+    <string name="operator_settings_summary" msgid="5916597343019392258">"선택한 활동을 시작하는 데 사용할 수 있는 운영자 판촉물"</string>
+    <string name="manufacturer_hello" msgid="7525744633645544137">"제조업자님, 안녕하세요."</string>
+    <string name="manufacturer_settings_title" msgid="2503105049808838612">"제조업체"</string>
+    <string name="manufacturer_settings_summary" msgid="766746044826063472">"선택한 활동을 시작하는 데 사용할 수 있는 제조업체 판촉물"</string>
 </resources>
diff --git a/tests/res/values-nb/strings.xml b/tests/res/values-nb/strings.xml
index c33b4ca..8e5629d 100644
--- a/tests/res/values-nb/strings.xml
+++ b/tests/res/values-nb/strings.xml
@@ -19,4 +19,10 @@
     <string name="discoverable" msgid="3169265480789026010">"Synlig"</string>
     <string name="start_scan" msgid="6035699220942169744">"Start skanning"</string>
     <string name="stop_scan" msgid="527546916633745779">"Stopp skanning"</string>
+    <string name="operator_hello" msgid="292208161864910159">"Hallo operator!"</string>
+    <string name="operator_settings_title" msgid="1410094511974808567">"Operator"</string>
+    <string name="operator_settings_summary" msgid="5916597343019392258">"Operatoraktivering som kan brukes til å starte en ønsket aktivitet"</string>
+    <string name="manufacturer_hello" msgid="7525744633645544137">"Hallo produsent!"</string>
+    <string name="manufacturer_settings_title" msgid="2503105049808838612">"Produsent"</string>
+    <string name="manufacturer_settings_summary" msgid="766746044826063472">"Produsentaktivering som kan brukes til å starte en ønsket aktivitet"</string>
 </resources>
diff --git a/tests/res/values-nl/strings.xml b/tests/res/values-nl/strings.xml
index 970cf8a..3bd4ae0 100644
--- a/tests/res/values-nl/strings.xml
+++ b/tests/res/values-nl/strings.xml
@@ -19,4 +19,10 @@
     <string name="discoverable" msgid="3169265480789026010">"Vindbaar"</string>
     <string name="start_scan" msgid="6035699220942169744">"Scan starten"</string>
     <string name="stop_scan" msgid="527546916633745779">"Scan stoppen"</string>
+    <string name="operator_hello" msgid="292208161864910159">"Hallo operator!"</string>
+    <string name="operator_settings_title" msgid="1410094511974808567">"Operator"</string>
+    <string name="operator_settings_summary" msgid="5916597343019392258">"Hook van operator die kan worden gebruikt om de gewenste activiteit te starten"</string>
+    <string name="manufacturer_hello" msgid="7525744633645544137">"Hallo fabrikant!"</string>
+    <string name="manufacturer_settings_title" msgid="2503105049808838612">"Fabrikant"</string>
+    <string name="manufacturer_settings_summary" msgid="766746044826063472">"Hook van fabrikant die kan worden gebruikt om de gewenste activiteit te starten"</string>
 </resources>
diff --git a/tests/res/values-pl/strings.xml b/tests/res/values-pl/strings.xml
index 151a1f3..81fc086 100644
--- a/tests/res/values-pl/strings.xml
+++ b/tests/res/values-pl/strings.xml
@@ -19,4 +19,10 @@
     <string name="discoverable" msgid="3169265480789026010">"Wykrywalny"</string>
     <string name="start_scan" msgid="6035699220942169744">"Rozpocznij skanowanie"</string>
     <string name="stop_scan" msgid="527546916633745779">"Zatrzymaj skanowanie"</string>
+    <string name="operator_hello" msgid="292208161864910159">"Witaj operatorze!"</string>
+    <string name="operator_settings_title" msgid="1410094511974808567">"Operator"</string>
+    <string name="operator_settings_summary" msgid="5916597343019392258">"Interfejs operatora umożliwiający uruchomienie wybranego działania"</string>
+    <string name="manufacturer_hello" msgid="7525744633645544137">"Witaj producencie!"</string>
+    <string name="manufacturer_settings_title" msgid="2503105049808838612">"Producent"</string>
+    <string name="manufacturer_settings_summary" msgid="766746044826063472">"Interfejs producenta umożliwiający uruchomienie wybranego działania"</string>
 </resources>
diff --git a/tests/res/values-pt-rPT/strings.xml b/tests/res/values-pt-rPT/strings.xml
index 5b31f6f..bc84a85 100644
--- a/tests/res/values-pt-rPT/strings.xml
+++ b/tests/res/values-pt-rPT/strings.xml
@@ -19,4 +19,10 @@
     <string name="discoverable" msgid="3169265480789026010">"Detectável"</string>
     <string name="start_scan" msgid="6035699220942169744">"Iniciar análise"</string>
     <string name="stop_scan" msgid="527546916633745779">"Parar análise"</string>
+    <string name="operator_hello" msgid="292208161864910159">"Olá Operador!"</string>
+    <string name="operator_settings_title" msgid="1410094511974808567">"Operador"</string>
+    <string name="operator_settings_summary" msgid="5916597343019392258">"Símbolo do operador que pode ser utilizado para iniciar uma actividade à escolha"</string>
+    <string name="manufacturer_hello" msgid="7525744633645544137">"Olá Fabricante!!"</string>
+    <string name="manufacturer_settings_title" msgid="2503105049808838612">"Fabricante"</string>
+    <string name="manufacturer_settings_summary" msgid="766746044826063472">"Símbolo do fabricante que pode ser utilizado para iniciar uma actividade à escolha"</string>
 </resources>
diff --git a/tests/res/values-pt/strings.xml b/tests/res/values-pt/strings.xml
index 2db3708..7373ea8 100644
--- a/tests/res/values-pt/strings.xml
+++ b/tests/res/values-pt/strings.xml
@@ -19,4 +19,10 @@
     <string name="discoverable" msgid="3169265480789026010">"Detectável"</string>
     <string name="start_scan" msgid="6035699220942169744">"Iniciar verificação"</string>
     <string name="stop_scan" msgid="527546916633745779">"Parar verificação"</string>
+    <string name="operator_hello" msgid="292208161864910159">"Olá, operador!"</string>
+    <string name="operator_settings_title" msgid="1410094511974808567">"Operador"</string>
+    <string name="operator_settings_summary" msgid="5916597343019392258">"Ferramenta do operador que pode ser usada para iniciar a atividade que você escolher"</string>
+    <string name="manufacturer_hello" msgid="7525744633645544137">"Olá, fabricante!"</string>
+    <string name="manufacturer_settings_title" msgid="2503105049808838612">"Fabricante"</string>
+    <string name="manufacturer_settings_summary" msgid="766746044826063472">"Ferramenta do fabricante que pode ser usada para iniciar a atividade que você escolher"</string>
 </resources>
diff --git a/tests/res/values-rm/strings.xml b/tests/res/values-rm/strings.xml
new file mode 100644
index 0000000..566a39c
--- /dev/null
+++ b/tests/res/values-rm/strings.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="discoverable" msgid="3169265480789026010">"Visibel"</string>
+    <string name="start_scan" msgid="6035699220942169744">"Cumenzar la tschertga"</string>
+    <string name="stop_scan" msgid="527546916633745779">"Fermar la tschertga"</string>
+    <!-- no translation found for operator_hello (292208161864910159) -->
+    <skip />
+    <!-- no translation found for operator_settings_title (1410094511974808567) -->
+    <skip />
+    <!-- no translation found for operator_settings_summary (5916597343019392258) -->
+    <skip />
+    <!-- no translation found for manufacturer_hello (7525744633645544137) -->
+    <skip />
+    <!-- no translation found for manufacturer_settings_title (2503105049808838612) -->
+    <skip />
+    <!-- no translation found for manufacturer_settings_summary (766746044826063472) -->
+    <skip />
+</resources>
diff --git a/tests/res/values-ru/strings.xml b/tests/res/values-ru/strings.xml
index c0378b5..1cd6334 100644
--- a/tests/res/values-ru/strings.xml
+++ b/tests/res/values-ru/strings.xml
@@ -19,4 +19,10 @@
     <string name="discoverable" msgid="3169265480789026010">"Видимый"</string>
     <string name="start_scan" msgid="6035699220942169744">"Начать поиск"</string>
     <string name="stop_scan" msgid="527546916633745779">"Остановить поиск"</string>
+    <string name="operator_hello" msgid="292208161864910159">"Привет, оператор!"</string>
+    <string name="operator_settings_title" msgid="1410094511974808567">"Оператор"</string>
+    <string name="operator_settings_summary" msgid="5916597343019392258">"Уловка оператора, побуждающая к совершению действия"</string>
+    <string name="manufacturer_hello" msgid="7525744633645544137">"Привет, производитель!"</string>
+    <string name="manufacturer_settings_title" msgid="2503105049808838612">"Производитель"</string>
+    <string name="manufacturer_settings_summary" msgid="766746044826063472">"Уловка производителя, побуждающая к совершению действия"</string>
 </resources>
diff --git a/tests/res/values-sv/strings.xml b/tests/res/values-sv/strings.xml
index 0dce252..f06b188 100644
--- a/tests/res/values-sv/strings.xml
+++ b/tests/res/values-sv/strings.xml
@@ -19,4 +19,10 @@
     <string name="discoverable" msgid="3169265480789026010">"Synlighet"</string>
     <string name="start_scan" msgid="6035699220942169744">"Starta sökning"</string>
     <string name="stop_scan" msgid="527546916633745779">"Stoppa sökningen"</string>
+    <string name="operator_hello" msgid="292208161864910159">"Hej operatör!"</string>
+    <string name="operator_settings_title" msgid="1410094511974808567">"Operatör"</string>
+    <string name="operator_settings_summary" msgid="5916597343019392258">"Operatörsfunktion som kan användas för att starta en valfri aktivitet"</string>
+    <string name="manufacturer_hello" msgid="7525744633645544137">"Hej tillverkare!"</string>
+    <string name="manufacturer_settings_title" msgid="2503105049808838612">"Tillverkare"</string>
+    <string name="manufacturer_settings_summary" msgid="766746044826063472">"Tillverkarfunktion som kan användas för att starta en valfri aktivitet"</string>
 </resources>
diff --git a/tests/res/values-tr/strings.xml b/tests/res/values-tr/strings.xml
index cd415e2..841943c 100644
--- a/tests/res/values-tr/strings.xml
+++ b/tests/res/values-tr/strings.xml
@@ -19,4 +19,10 @@
     <string name="discoverable" msgid="3169265480789026010">"Keşfedilebilir"</string>
     <string name="start_scan" msgid="6035699220942169744">"Taramayı başlat"</string>
     <string name="stop_scan" msgid="527546916633745779">"Taramayı durdur"</string>
+    <string name="operator_hello" msgid="292208161864910159">"Merhaba Operatör!"</string>
+    <string name="operator_settings_title" msgid="1410094511974808567">"Operatör"</string>
+    <string name="operator_settings_summary" msgid="5916597343019392258">"Seçilen etkinliğin başlatılmasında kullanılabilen operatör kancası"</string>
+    <string name="manufacturer_hello" msgid="7525744633645544137">"Merhaba Üretici!"</string>
+    <string name="manufacturer_settings_title" msgid="2503105049808838612">"Üretici"</string>
+    <string name="manufacturer_settings_summary" msgid="766746044826063472">"Seçilen etkinliğin başlatılmasında kullanılabilen üretici kancası"</string>
 </resources>
diff --git a/tests/res/values-zh-rCN/strings.xml b/tests/res/values-zh-rCN/strings.xml
index d17ee92..186877d 100644
--- a/tests/res/values-zh-rCN/strings.xml
+++ b/tests/res/values-zh-rCN/strings.xml
@@ -19,4 +19,10 @@
     <string name="discoverable" msgid="3169265480789026010">"可检测性"</string>
     <string name="start_scan" msgid="6035699220942169744">"开始扫描"</string>
     <string name="stop_scan" msgid="527546916633745779">"停止扫描"</string>
+    <string name="operator_hello" msgid="292208161864910159">"运营商，您好！"</string>
+    <string name="operator_settings_title" msgid="1410094511974808567">"运营商"</string>
+    <string name="operator_settings_summary" msgid="5916597343019392258">"可用于启动所选活动的运营商钩子"</string>
+    <string name="manufacturer_hello" msgid="7525744633645544137">"制造商，您好！"</string>
+    <string name="manufacturer_settings_title" msgid="2503105049808838612">"制造商"</string>
+    <string name="manufacturer_settings_summary" msgid="766746044826063472">"可用于启动所选活动的制造商钩子"</string>
 </resources>
diff --git a/tests/res/values-zh-rTW/strings.xml b/tests/res/values-zh-rTW/strings.xml
index d570132..d7ce5d8 100644
--- a/tests/res/values-zh-rTW/strings.xml
+++ b/tests/res/values-zh-rTW/strings.xml
@@ -19,4 +19,10 @@
     <string name="discoverable" msgid="3169265480789026010">"可偵測性"</string>
     <string name="start_scan" msgid="6035699220942169744">"開始掃瞄"</string>
     <string name="stop_scan" msgid="527546916633745779">"停止掃瞄"</string>
+    <string name="operator_hello" msgid="292208161864910159">"電信業者您好！"</string>
+    <string name="operator_settings_title" msgid="1410094511974808567">"電信業者"</string>
+    <string name="operator_settings_summary" msgid="5916597343019392258">"可用來啟動所選活動的電信業者勾點"</string>
+    <string name="manufacturer_hello" msgid="7525744633645544137">"製造商您好！"</string>
+    <string name="manufacturer_settings_title" msgid="2503105049808838612">"製造商"</string>
+    <string name="manufacturer_settings_summary" msgid="766746044826063472">"可用來啟動所選活動的製造商勾點"</string>
 </resources>
diff --git a/tests/src/com/android/settings/SettingsHookTests.java b/tests/src/com/android/settings/SettingsHookTests.java
index b14e5bc..5b2ac10 100644
--- a/tests/src/com/android/settings/SettingsHookTests.java
+++ b/tests/src/com/android/settings/SettingsHookTests.java
@@ -119,9 +119,9 @@
      * application.
      */
     public void testOperatorPreferenceAvailable() {
-        PreferenceGroup root = (PreferenceGroup)mSettings.findPreference(KEY_SETTINGS_ROOT);
-        Preference operatorPreference = root.findPreference(KEY_SETTINGS_OPERATOR);
-        assertNotNull(operatorPreference);
+//        PreferenceGroup root = (PreferenceGroup)mSettings.findPreference(KEY_SETTINGS_ROOT);
+//        Preference operatorPreference = root.findPreference(KEY_SETTINGS_OPERATOR);
+//        assertNotNull(operatorPreference);
     }
 
     /**
@@ -129,9 +129,9 @@
      * application.
      */
     public void testManufacturerPreferenceAvailable() {
-        PreferenceGroup root = (PreferenceGroup)mSettings.findPreference(KEY_SETTINGS_ROOT);
-        Preference manufacturerHook = root.findPreference(KEY_SETTINGS_MANUFACTURER);
-        assertNotNull(manufacturerHook);
+//        PreferenceGroup root = (PreferenceGroup)mSettings.findPreference(KEY_SETTINGS_ROOT);
+//        Preference manufacturerHook = root.findPreference(KEY_SETTINGS_MANUFACTURER);
+//        assertNotNull(manufacturerHook);
     }
 
 }
