diff --git a/Android.mk b/Android.mk
index 9c9a23a..fe8ed2d 100644
--- a/Android.mk
+++ b/Android.mk
@@ -2,7 +2,7 @@
 include $(CLEAR_VARS)
 
 LOCAL_JAVA_LIBRARIES := bouncycastle telephony-common
-LOCAL_STATIC_JAVA_LIBRARIES := guava android-support-v4
+LOCAL_STATIC_JAVA_LIBRARIES := guava android-support-v4 jsr305
 
 LOCAL_MODULE_TAGS := optional
 
diff --git a/res/layout/app_percentage_item.xml b/res/layout/app_percentage_item.xml
index 41c4060..b5e6db7 100644
--- a/res/layout/app_percentage_item.xml
+++ b/res/layout/app_percentage_item.xml
@@ -39,7 +39,8 @@
         android:layout_gravity="fill_horizontal"
         android:singleLine="true"
         android:ellipsize="marquee"
-        android:textAppearance="?android:attr/textAppearanceMedium" />
+        android:textAppearance="?android:attr/textAppearanceMedium"
+        android:textDirection="locale" />
 
     <TextView
         android:id="@android:id/text1"
diff --git a/res/layout/wifi_dialog.xml b/res/layout/wifi_dialog.xml
index 88dae27..ff003c4 100644
--- a/res/layout/wifi_dialog.xml
+++ b/res/layout/wifi_dialog.xml
@@ -34,7 +34,8 @@
                       style="@style/wifi_item" >
                 <TextView
                         style="@style/wifi_item_label"
-                        android:text="@string/wifi_ssid" />
+                        android:text="@string/wifi_ssid"
+                        android:textDirection="locale" />
 
                 <EditText android:id="@+id/ssid"
                         style="@style/wifi_item_content"
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index aabe835..be6d9e6 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Soek tans…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Hernoem toestel"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Portuurtoestelle"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Kon nie koppel nie."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Kon nie toestel hernoem nie."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Ontkoppel?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"As jy ontkoppel, sal jou verbinding met <xliff:g id="PEER_NAME">%1$s</xliff:g> en <xliff:g id="PEER_COUNT">%2$s</xliff:g> ander toestelle ophou."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Kanselleer uitnodiging?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Wil jy die uitnodiging kanselleer om met <xliff:g id="PEER_NAME">%1$s</xliff:g> te koppel?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Wi-Fi-warmkol"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Skakel tans Wi-Fi-warmkol aan..."</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Skakel tans Wi-Fi-warmkol af..."</string>
@@ -1718,7 +1712,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Gedeaktiveer"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Toestemmend"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Pas toe"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Gebruikers en beperkings"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Gebruikers"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Voeg gebruiker by"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Redigeer besonderhede"</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 02145fa..0a8b304 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"በመፈለግ ላይ…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"መሣሪያ ዳግም ሰይም"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"አቻ መሳሪያዎች"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"ማገናኘት አልተቻለም።"</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"መሣሪያ ዳግም መሰየም አልተሳካም።"</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"ይላቀቅ?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"ግንኙነቱን ካቋረጥክ፣ ከ<xliff:g id="PEER_NAME">%1$s</xliff:g> እና <xliff:g id="PEER_COUNT">%2$s</xliff:g> ሌላ መሳሪያዎች ጋር ያለህ ግንኙነት ይቋረጣል።"</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"ግብዣ ይሰረዝ?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"ከ<xliff:g id="PEER_NAME">%1$s</xliff:g> ጋር የመገናኘት ግብዣውን መሰረዝ ትፈልጋለህ?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">" ተጓጓዥ Wi-Fi ድረስ ነጥብ"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"የመገናኛ ነጥብን በማብራት ላይ…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"የመገናኛ ነጥብን በማጥፋት ላይ…"</string>
@@ -1718,7 +1712,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"ተሰናክሏል"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"ፈቃጅ"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"በማስፈጸም ላይ"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"ተጠቃሚዎች አና ገደቦች"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"ተጠቃሚዎች"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"ተጠቃሚ አክል"</string>
     <string name="user_details_title" msgid="3037625632127241370">"ዝርዝሮችን አርትዕ"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index d297678..4b27615 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"جارٍ البحث…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"إعادة تسمية الجهاز"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"أجهزة النظراء"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"تعذر الاتصال."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"تعذرت إعادة تسمية الجهاز."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"هل تريد قطع الاتصال؟"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"في حالة قطع الاتصال، سيتم إنهاء اتصالك بـ <xliff:g id="PEER_NAME">%1$s</xliff:g> و<xliff:g id="PEER_COUNT">%2$s</xliff:g> من الأجهزة الأخرى."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"هل تريد إلغاء الدعوة؟"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"هل تريد إلغاء الدعوة للاتصال بـ <xliff:g id="PEER_NAME">%1$s</xliff:g>؟"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"نقطة اتصال Wi-Fi المحمولة"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"جارٍ تشغيل نقطة الاتصال…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"جارٍ إيقاف نقطة الاتصال…"</string>
@@ -1019,8 +1013,7 @@
     <string name="external_data_size_label" product="nosdcard" msgid="7533821466482000453">"بيانات وحدة تخزين USB"</string>
     <string name="external_data_size_label" product="default" msgid="626414192825329708">"بطاقة SD"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"إزالة"</string>
-    <!-- no translation found for install_text (884360662922471113) -->
-    <skip />
+    <string name="install_text" msgid="884360662922471113">"تثبيت"</string>
     <string name="disable_text" msgid="6544054052049395202">"تعطيل"</string>
     <string name="enable_text" msgid="9217362512327828987">"تمكين"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"محو البيانات"</string>
@@ -1689,14 +1682,10 @@
     <string name="vpn_create" msgid="5628219087569761496">"إضافة ملف شخصي لشبكة ظاهرية خاصة (VPN)"</string>
     <string name="vpn_menu_edit" msgid="408275284159243490">"تعديل الملف الشخصي"</string>
     <string name="vpn_menu_delete" msgid="8098021690546891414">"حذف الملف الشخصي"</string>
-    <!-- no translation found for vpn_menu_lockdown (7863024538064268139) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_summary (2200032066376720339) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_none (9214462857336483711) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_config_error (3898576754914217248) -->
-    <skip />
+    <string name="vpn_menu_lockdown" msgid="7863024538064268139">"شبكة ظاهرية خاصة (VPN) دائمة التشغيل"</string>
+    <string name="vpn_lockdown_summary" msgid="2200032066376720339">"حدد ملفًا شخصيًا للشبكة الظاهرية الخاصة (VPN) للاتصال الدائم بها. لن يتم السماح بحركة مرور الشبكة إلا عند الاتصال بهذه الشبكة الظاهرية الخاصة."</string>
+    <string name="vpn_lockdown_none" msgid="9214462857336483711">"لا شيء"</string>
+    <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"تتطلب الشبكة الظاهرية الخاصة (VPN) دائمة التشغيل عنوان IP لكل من الخادم ونظام أسماء النطاقات."</string>
     <string name="vpn_no_network" msgid="3050233675132726155">"ليس هناك اتصال بالشبكة. الرجاء إعادة المحاولة لاحقًا."</string>
     <string name="vpn_missing_cert" msgid="7972907102570411501">"الشهادة مفقودة. الرجاء تعديل الملف الشخصي."</string>
     <string name="trusted_credentials_system_tab" msgid="3984284264816924534">"النظام"</string>
@@ -1718,7 +1707,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"معطّل"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"متساهل"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"فرض"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"المستخدمون والقيود"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"المستخدمون"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"إضافة مستخدم"</string>
     <string name="user_details_title" msgid="3037625632127241370">"تعديل التفاصيل"</string>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index ed27ea8..1bd89cf 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Пошук..."</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Пераназваць прыладу"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Піры"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Не атрымалася падключыцца."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Не атрымалася перайменаваць прыладу."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Адключыцца?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Калі вы адключыцеся, падключэнне да прылады <xliff:g id="PEER_NAME">%1$s</xliff:g> і іншых (<xliff:g id="PEER_COUNT">%2$s</xliff:g>) не перапынiцца."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Адмяніць запрашэнне?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Вы жадаеце адмяніць запрашэнне на падлучэнне да прылады <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Партатыўная кропка доступу Wi-Fi"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Уключэнне кропкi доступу..."</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Выключэнне кропкi доступу..."</string>
@@ -1718,7 +1712,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Выключана"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Дазвол"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Забеспячэнне"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Карыстальнікі і абмежаванні"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Карыстальнікі"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Дадаць карыстальніка"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Рэдагаваць інфармацыю"</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 4d8bde5..a1c9b62 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Търси се…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Преименуване на устройството"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Съответни устройства"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Не можа да се свърже."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Преименуването на устройството не бе успешно."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Да се изключи ли?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Ако прекъснете връзката, ще се прекрати и установената със:  <xliff:g id="PEER_NAME">%1$s</xliff:g> и още  <xliff:g id="PEER_COUNT">%2$s</xliff:g> устройства."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Да се анулира ли поканата?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Искате ли да анулирате поканата за свързване с/ъс <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Преносима точка за достъп през Wi-Fi"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Точката за достъп се включва…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Точката за достъп се изключва…"</string>
@@ -1019,8 +1013,7 @@
     <string name="external_data_size_label" product="nosdcard" msgid="7533821466482000453">"Данни за USB хранилището"</string>
     <string name="external_data_size_label" product="default" msgid="626414192825329708">"SD карта"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Деинсталиране"</string>
-    <!-- no translation found for install_text (884360662922471113) -->
-    <skip />
+    <string name="install_text" msgid="884360662922471113">"Инсталиране"</string>
     <string name="disable_text" msgid="6544054052049395202">"Деактивиране"</string>
     <string name="enable_text" msgid="9217362512327828987">"Активиране"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Изчистване на данни"</string>
@@ -1689,14 +1682,10 @@
     <string name="vpn_create" msgid="5628219087569761496">"Потребителски профил за VPN: Добавяне"</string>
     <string name="vpn_menu_edit" msgid="408275284159243490">"Редактиране на потребителския профил"</string>
     <string name="vpn_menu_delete" msgid="8098021690546891414">"Изтриване на потребителския профил"</string>
-    <!-- no translation found for vpn_menu_lockdown (7863024538064268139) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_summary (2200032066376720339) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_none (9214462857336483711) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_config_error (3898576754914217248) -->
-    <skip />
+    <string name="vpn_menu_lockdown" msgid="7863024538064268139">"Винаги включена виртуална частна мрежа"</string>
+    <string name="vpn_lockdown_summary" msgid="2200032066376720339">"Изберете потребителски профил за виртуална частна мрежа (VPN), за да останете винаги свързани с нея. Мрежовият трафик ще бъде разрешен само при връзка с тази VPN."</string>
+    <string name="vpn_lockdown_none" msgid="9214462857336483711">"Няма"</string>
+    <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"Винаги включената виртуална частна мрежа (VPN) изисква IP адрес както за сървъра, така и за DNS."</string>
     <string name="vpn_no_network" msgid="3050233675132726155">"Няма връзка с мрежата. Моля, опитайте отново по-късно."</string>
     <string name="vpn_missing_cert" msgid="7972907102570411501">"Липсва сертификат. Моля, редактирайте потребителския профил."</string>
     <string name="trusted_credentials_system_tab" msgid="3984284264816924534">"Система"</string>
@@ -1718,7 +1707,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Деактивирано"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Разрешаващо"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Налагане"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Потребители и ограничения"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Потребители"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Потребител: Добавяне"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Подробности: Редактиране"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 342f3c1..4863301 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"S\'està cercant..."</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Canvia el nom del dispositiu"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Dispositius homòlegs"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"No s\'ha pogut connectar."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"S\'ha produït un error en canviar el nom del dispositiu."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Vols desconnectar?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Si et desconnectes, finalitzarà la teva connexió amb <xliff:g id="PEER_NAME">%1$s</xliff:g> i amb <xliff:g id="PEER_COUNT">%2$s</xliff:g> dispositius més."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Vols cancel·lar la invitació?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Vols cancel·lar la invitació per connectar amb <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Punt de connexió Wi-fi portàtil"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"S\'està activant la zona Wi-Fi…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"S\'està desactivant la zona Wi-Fi…"</string>
@@ -1718,7 +1712,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Desactivat"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Permissiu"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"En aplicació"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Usuaris i restriccions"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Usuaris"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Afegeix un usuari"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Edita els detalls"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index d10e387..a1c59ec 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Hledání…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Přejmenovat zařízení"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Partnerská zařízení"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Nelze připojit."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Zařízení se nepodařilo přejmenovat."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Odpojit?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Pokud se odpojíte, bude spojení se zařízením <xliff:g id="PEER_NAME">%1$s</xliff:g> a s <xliff:g id="PEER_COUNT">%2$s</xliff:g> dalšími zařízeními přerušeno."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Zrušit pozvánku?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Chcete zrušit pozvánku ke spojení s klientem <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Přenosný hotspot Wi-Fi"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Zapínání hotspotu…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Vypínání hotspotu…"</string>
@@ -1718,7 +1712,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Zakázáno"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Mírné"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Přísné"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Uživatelé a omezení"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Uživatelé"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Přidat uživatele"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Upravit podrobnosti"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index bbe3f59..de42a17 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Søger…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Omdøb enhed"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Peer-enheder"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Der kunne ikke oprettes forbindelse."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Enheden kunne ikke omdøbes."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Vil du afbryde?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Hvis du afbryder, stoppes forbindelsen til <xliff:g id="PEER_NAME">%1$s</xliff:g> og <xliff:g id="PEER_COUNT">%2$s</xliff:g> andre enheder."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Vil du annullere invitationen?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Vil du annullere invitationen til at oprette forbindelse med <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Bærbart Wi-Fi-hotspot"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Aktiverer hotspot..."</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Deaktiverer hotspot..."</string>
@@ -1718,7 +1712,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Deaktiveret"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Eftergivende"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Håndhæver"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Brugere og begrænsninger"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Brugere"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Tilføj bruger"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Rediger oplysninger"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 583898b..896c56d 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -601,8 +601,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Suche läuft…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Gerät umbenennen"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Peer-Geräte"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Verbindung nicht möglich"</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Gerät konnte nicht umbenannt werden."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Verbindung trennen?"</string>
@@ -610,10 +608,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Wenn Sie die Verbindung trennen, wird Ihre Verbindung mit <xliff:g id="PEER_NAME">%1$s</xliff:g> und <xliff:g id="PEER_COUNT">%2$s</xliff:g> weiteren Geräten beendet."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Einladung ablehnen?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Möchten Sie die Einladung zum Verbinden mit <xliff:g id="PEER_NAME">%1$s</xliff:g> ablehnen?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Mobiler WLAN-Hotspot"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Hotspot wird aktiviert…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Hotspot wird deaktiviert…"</string>
@@ -1719,7 +1713,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Deaktiviert"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Moderat"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Strikt"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Nutzer &amp; Beschränkungen"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Nutzer"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Nutzer hinzufügen"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Details bearbeiten"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 802350e..4a0fa74 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Αναζήτηση…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Μετονομασία συσκευής"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Ομότιμες συσκευές"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Δεν ήταν δυνατή η σύνδεση."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Αποτυχία μετονομασίας συσκευής."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Αποσύνδεση;"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Αν αποσυνδεθείτε, θα λήξει η σύνδεσή σας με τη συσκευή <xliff:g id="PEER_NAME">%1$s</xliff:g> και <xliff:g id="PEER_COUNT">%2$s</xliff:g> άλλες συσκευές."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Ακύρωση πρόσκλησης;"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Θέλετε να ακυρώσετε την πρόσκληση για τη σύνδεση με τη συσκευή <xliff:g id="PEER_NAME">%1$s</xliff:g>;"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Φορητό σημείο πρόσβασης Wi-Fi"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Ενεργοποίηση σημείου πρόσβασης…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Απενεργοποίηση σημείου πρόσβασης…"</string>
@@ -1718,7 +1712,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Απενεργοποιημένο"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Ανεκτικό"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Επιβολή"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Χρήστες &amp; περιορισμοί"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Χρήστες"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Προσθήκη χρήστη"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Επεξεργασία λεπτομερειών"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 93e46ac..a59c470 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Searching…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Rename device"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Peer devices"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Could not connect."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Failed to rename device."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Disconnect?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"If you disconnect, your connection with <xliff:g id="PEER_NAME">%1$s</xliff:g> and <xliff:g id="PEER_COUNT">%2$s</xliff:g> other devices will end."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Cancel invitation"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Do you want to cancel invitation to connect with <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Portable Wi-Fi hotspot"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Turning hotspot on…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Turning off hotspot…"</string>
@@ -1718,7 +1712,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Disabled"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Permissive"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Enforcing"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Users &amp; restrictions"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Users"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Add user"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Edit details"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index e7bb64e..6fc4c5a 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Buscando…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Cambiar el nombre del dispositivo"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Otros dispositivos"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"No se pudo establecer conexión."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Error al cambiar nombre del dispositivo"</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"¿Deseas desconectarte?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Si te desconectas, tu conexión con <xliff:g id="PEER_NAME">%1$s</xliff:g> y con otros <xliff:g id="PEER_COUNT">%2$s</xliff:g> dispositivos finalizará."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"¿Quieres cancelar la invitación?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"¿Quieres cancelar la invitación para conectarte con <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Zona Wi-Fi portátil"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Activando zona…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Desactivando zona…"</string>
@@ -1718,7 +1712,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Desactivado"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Permisivo"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Obligatorio"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Usuarios y restricciones"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Usuarios"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Agregar usuario"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Modificar detalles"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index cc76e3b..3d07bf7 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Buscando…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Cambiar nombre del dispositivo"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Otros dispositivos"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"No se ha podido conectar."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Error al cambiar nombre del dispositivo"</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"¿Desconectar?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Si desconectas el dispositivo, finalizará la conexión con <xliff:g id="PEER_NAME">%1$s</xliff:g> y con otros dispositivos de <xliff:g id="PEER_COUNT">%2$s</xliff:g>."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"¿Quieres cancelar la invitación?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"¿Quieres cancelar la invitación para establecer conexión con <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Zona Wi-Fi portátil"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Activando zona Wi-Fi en…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Desactivando zona Wi-Fi…"</string>
@@ -1019,8 +1013,7 @@
     <string name="external_data_size_label" product="nosdcard" msgid="7533821466482000453">"Datos en almacen. USB"</string>
     <string name="external_data_size_label" product="default" msgid="626414192825329708">"Tarjeta SD"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Desinstalar"</string>
-    <!-- no translation found for install_text (884360662922471113) -->
-    <skip />
+    <string name="install_text" msgid="884360662922471113">"Instalar"</string>
     <string name="disable_text" msgid="6544054052049395202">"Inhabilitar"</string>
     <string name="enable_text" msgid="9217362512327828987">"Habilitar"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Borrar datos"</string>
@@ -1689,14 +1682,10 @@
     <string name="vpn_create" msgid="5628219087569761496">"Añadir perfil de VPN"</string>
     <string name="vpn_menu_edit" msgid="408275284159243490">"Editar perfil"</string>
     <string name="vpn_menu_delete" msgid="8098021690546891414">"Eliminar perfil"</string>
-    <!-- no translation found for vpn_menu_lockdown (7863024538064268139) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_summary (2200032066376720339) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_none (9214462857336483711) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_config_error (3898576754914217248) -->
-    <skip />
+    <string name="vpn_menu_lockdown" msgid="7863024538064268139">"VPN siempre activada"</string>
+    <string name="vpn_lockdown_summary" msgid="2200032066376720339">"Selecciona un perfil de VPN para permanecer conectado de forma continúa. Solo se permitirá el tráfico de red cuando estés conectado a esta red VPN."</string>
+    <string name="vpn_lockdown_none" msgid="9214462857336483711">"Ninguna"</string>
+    <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"Las redes VPN activadas continuamente requieren una dirección IP para el servidor y el DNS."</string>
     <string name="vpn_no_network" msgid="3050233675132726155">"No hay conexión de red. Inténtalo de nuevo más tarde."</string>
     <string name="vpn_missing_cert" msgid="7972907102570411501">"Falta un certificado. Edita el perfil."</string>
     <string name="trusted_credentials_system_tab" msgid="3984284264816924534">"Sistema"</string>
@@ -1718,7 +1707,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Inhabilitado"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Permisivo"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Obligatorio"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Usuarios y restricciones"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Usuarios"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Añadir usuario"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Editar detalles"</string>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index aa40f78..7bbd2df 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Otsing …"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Nimeta seade ümber"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Võrdõigusvõrgu seadmed"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Ühenduse loomine ebaõnnestus."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Seadme ümbernimetamine ebaõnnestus."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Kas katkestada ühendus?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Kui katkestate ühenduse, siis lõpeb ühendus seadmega <xliff:g id="PEER_NAME">%1$s</xliff:g> ja veel <xliff:g id="PEER_COUNT">%2$s</xliff:g> seadmega."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Kas tühistada kutse?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Kas soovite tühistada kutse kasutajaga <xliff:g id="PEER_NAME">%1$s</xliff:g> ühenduse loomiseks?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Kantav WiFi-tööpunkt"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Leviala sisselülitamine ..."</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Leviala väljalülitamine ..."</string>
@@ -1019,8 +1013,7 @@
     <string name="external_data_size_label" product="nosdcard" msgid="7533821466482000453">"USB-mäluseadme andmed"</string>
     <string name="external_data_size_label" product="default" msgid="626414192825329708">"SD-kaart"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Desinstalli"</string>
-    <!-- no translation found for install_text (884360662922471113) -->
-    <skip />
+    <string name="install_text" msgid="884360662922471113">"Installi"</string>
     <string name="disable_text" msgid="6544054052049395202">"Keela"</string>
     <string name="enable_text" msgid="9217362512327828987">"Luba"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Kustuta andmed"</string>
@@ -1689,14 +1682,10 @@
     <string name="vpn_create" msgid="5628219087569761496">"VPN-i profiili lisamine"</string>
     <string name="vpn_menu_edit" msgid="408275284159243490">"Muuda profiili"</string>
     <string name="vpn_menu_delete" msgid="8098021690546891414">"Kustuta profiil"</string>
-    <!-- no translation found for vpn_menu_lockdown (7863024538064268139) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_summary (2200032066376720339) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_none (9214462857336483711) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_config_error (3898576754914217248) -->
-    <skip />
+    <string name="vpn_menu_lockdown" msgid="7863024538064268139">"Alati sees VPN"</string>
+    <string name="vpn_lockdown_summary" msgid="2200032066376720339">"Valige VPN-i profiil, millega olla alati ühendatud. Võrguliiklus on lubatud ainult siis, kui olete ühendatud selle VPN-iga."</string>
+    <string name="vpn_lockdown_none" msgid="9214462857336483711">"Puudub"</string>
+    <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"Alati sees VPN-i jaoks on vaja IP-aadressi nii serverile kui ka DNS-ile."</string>
     <string name="vpn_no_network" msgid="3050233675132726155">"Võrguühendus puudub. Proovige hiljem uuesti."</string>
     <string name="vpn_missing_cert" msgid="7972907102570411501">"Sertifikaat on puudu. Muutke profiili."</string>
     <string name="trusted_credentials_system_tab" msgid="3984284264816924534">"Süsteem"</string>
@@ -1718,7 +1707,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Keelatud"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Lubav"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Jõustumisel"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Kasutajad ja piirangud"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Kasutajad"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Kasutaja lisamine"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Üksikasjade muutmine"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 2311c5e..0885a33 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -242,7 +242,7 @@
     <string name="sdcard_settings_used_bytes_label" msgid="8820289486001170836">"بایت های استفاده شده:"</string>
     <string name="sdcard_settings_scanning_status" product="nosdcard" msgid="7503429447676219564">"در حال اسکن حافظهٔ USB برای رسانه..."</string>
     <string name="sdcard_settings_scanning_status" product="default" msgid="2763464949274455656">"اسکن کردن کارت SD برای رسانه..."</string>
-    <string name="sdcard_settings_read_only_status" product="nosdcard" msgid="3624143937437417788">"حافظهٔ USB به عنوان فقط خواندنی متصل شد."</string>
+    <string name="sdcard_settings_read_only_status" product="nosdcard" msgid="3624143937437417788">"حافظهٔ USB به‌عنوان فقط خواندنی متصل شد."</string>
     <string name="sdcard_settings_read_only_status" product="default" msgid="4518291824764698112">"کارت SD به صورت فقط خواندنی نصب شد."</string>
     <string name="skip_label" msgid="47510779345218297">"رد شدن"</string>
     <string name="next_label" msgid="4693520878012668114">"بعدی"</string>
@@ -480,7 +480,7 @@
     <string name="bluetooth_pan_profile_summary_use_for" msgid="5664884523822068653">"استفاده برای دسترسی به اینترنت"</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>
+    <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"به‌عنوان تلفن دارای بلندگو"</string>
     <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"برای موسیقی و رسانه"</string>
     <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"به خاطر سپردن تنظیمات"</string>
     <string name="nfc_quick_toggle_title" msgid="6769159366307299004">"NFC"</string>
@@ -491,7 +491,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"خاموش"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"در دسترس نیست زیرا NFC خاموش است"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="6981652347448777459">"در صورت روشن بودن این ویژگی، می‌توانید با نگهداشتن دستگاه‌ها نزدیک به یکدیگر، محتوای برنامهٔ کاربردی را به دستگاه دارای قابلیت NFC دیگری مخابره کنید. به عنوان مثال، می‌توانید صفحات مرورگر، ویدئوهای YouTube، تماس‌های افراد و موارد دیگر را مخابره کنید."\n\n" کافیست دستگاه‌ها را نزدیک هم بگذارید (معمولاً پشت به پشت) و سپس صفحهٔ نمایش خود را لمس کنید. برنامه‌ کاربردی آنچه را مخابره می‌شود تعیین می‌کند."</string>
+    <string name="android_beam_explained" msgid="6981652347448777459">"در صورت روشن بودن این ویژگی، می‌توانید با نگهداشتن دستگاه‌ها نزدیک به یکدیگر، محتوای برنامهٔ کاربردی را به دستگاه دارای قابلیت NFC دیگری مخابره کنید. به‌عنوان مثال، می‌توانید صفحات مرورگر، ویدئوهای YouTube، تماس‌های افراد و موارد دیگر را مخابره کنید."\n\n" کافیست دستگاه‌ها را نزدیک هم بگذارید (معمولاً پشت به پشت) و سپس صفحهٔ نمایش خود را لمس کنید. برنامه‌ کاربردی آنچه را مخابره می‌شود تعیین می‌کند."</string>
     <string name="nsd_quick_toggle_title" msgid="3125572815278848258">"کاوش سرویس شبکه"</string>
     <string name="nsd_quick_toggle_summary" msgid="155692215972781276">"به برنامه‎های دستگاه‌های دیگر اجازه داده شود برنامه‎های این دستگاه را ببینند"</string>
     <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string>
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"در حال جستجو…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"تغییر نام دستگاه"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"دستگاه‌های مشابه"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"متصل نشد."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"تغییر نام دستگاه انجام نشد."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"اتصال قطع شود؟"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"اگر اتصال شما قطع شود، اتصال شما با <xliff:g id="PEER_NAME">%1$s</xliff:g> و سایر دستگاه‌های <xliff:g id="PEER_COUNT">%2$s</xliff:g> به پایان خواهد رسید."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"دعوتنامه لغو شود؟"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"آیا می‌خواهید دعوت برای ارتباط با <xliff:g id="PEER_NAME">%1$s</xliff:g> را لغو کنید؟"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"نقطه اتصال Wi-Fi قابل حمل"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"در حال روشن کردن نقطه اتصال…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"در حال خاموش کردن نقطه اتصال…"</string>
@@ -805,7 +799,7 @@
     <string name="storage_low_summary" msgid="7737465774892563129">"برخی از عملکردهای سیستم مانند همگام‌سازی ممکن است به نحوه صحیح کار نکنند. با حذف یا لغو پین کردن مواردی همچون برنامه‌ها یا محتوای رسانه، سعی کنید فضا را خالی کنید."</string>
     <string name="storage_menu_usb" msgid="5708207885333243384">"اتصال به کامپیوتر با USB"</string>
     <string name="storage_title_usb" msgid="679612779321689418">"اتصال به کامپیوتر با USB"</string>
-    <string name="usb_connection_category" msgid="7805945595165422882">"اتصال به عنوان"</string>
+    <string name="usb_connection_category" msgid="7805945595165422882">"اتصال به‌عنوان"</string>
     <string name="usb_mtp_title" msgid="3399663424394065964">"دستگاه رسانه‌ای (MTP)"</string>
     <string name="usb_mtp_summary" msgid="4617321473211391236">"به شما امکان می‌دهد که فایل‌های رسانه‌ای را در Windows یا با استفاده از عملکرد انتقال فایل Android در Mac انتقال دهید (به www.android.com/filetransfer مراجعه کنید)"</string>
     <string name="usb_ptp_title" msgid="3852760810622389620">"دوربین (PTP)"</string>
@@ -1019,8 +1013,7 @@
     <string name="external_data_size_label" product="nosdcard" msgid="7533821466482000453">"داده‌های ذخیره‌سازی USB"</string>
     <string name="external_data_size_label" product="default" msgid="626414192825329708">"کارت SD"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"حذف نصب"</string>
-    <!-- no translation found for install_text (884360662922471113) -->
-    <skip />
+    <string name="install_text" msgid="884360662922471113">"نصب"</string>
     <string name="disable_text" msgid="6544054052049395202">"غیرفعال کردن"</string>
     <string name="enable_text" msgid="9217362512327828987">"فعال کردن"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"پاک کردن داده‌ها"</string>
@@ -1503,23 +1496,23 @@
     <string name="background_data_dialog_title" msgid="6059217698124786537">"داده‌های پس‌زمینه غیرفعال شود؟"</string>
     <string name="background_data_dialog_message" msgid="6981661606680941633">"غیرفعال کردن داده‌های پس‌زمینه طول عمر باتری را بیشتر کرده و مصرف داده‌ها را کاهش می‌دهد. برخی از برنامه‌ها ممکن است همچنان از اتصال داده در پس‌زمینه استفاده کنند."</string>
     <string name="sync_automatically" msgid="1682730255435062059">"همگام‌سازی خودکار داده برنامه"</string>
-    <string name="sync_enabled" msgid="4551148952179416813">"همگام سازی روشن است"</string>
-    <string name="sync_disabled" msgid="8511659877596511991">"همگام سازی خاموش است"</string>
-    <string name="sync_error" msgid="5060969083117872149">"خطای همگام سازی"</string>
+    <string name="sync_enabled" msgid="4551148952179416813">"همگام‌سازی روشن است"</string>
+    <string name="sync_disabled" msgid="8511659877596511991">"همگام‌سازی خاموش است"</string>
+    <string name="sync_error" msgid="5060969083117872149">"خطای همگام‌سازی"</string>
     <string name="last_synced" msgid="4242919465367022234">"تاریخ آخرین همگام‌سازی <xliff:g id="LAST_SYNC_TIME">%1$s</xliff:g>"</string>
     <string name="sync_in_progress" msgid="5151314196536070569">"اکنون همگام‌سازی شود…"</string>
     <string name="settings_backup" msgid="2274732978260797031">"تهیه پشتیبان از تنظیمات"</string>
     <string name="settings_backup_summary" msgid="7916877705938054035">"تهیه نسخهٔ پشتیبان از تنظیمات من"</string>
-    <string name="sync_menu_sync_now" msgid="6154608350395805683">"هم‌اکنون همگام سازی کنید"</string>
-    <string name="sync_menu_sync_cancel" msgid="8292379009626966949">"لغو همگام سازی"</string>
-    <string name="sync_one_time_sync" msgid="6766593624598183090">"لمس کنید تا اکنون همگام سازی شود<xliff:g id="LAST_SYNC_TIME">
+    <string name="sync_menu_sync_now" msgid="6154608350395805683">"هم‌اکنون همگام‌سازی کنید"</string>
+    <string name="sync_menu_sync_cancel" msgid="8292379009626966949">"لغو همگام‌سازی"</string>
+    <string name="sync_one_time_sync" msgid="6766593624598183090">"لمس کنید تا اکنون همگام‌سازی شود<xliff:g id="LAST_SYNC_TIME">
 %1$s</xliff:g>"</string>
     <string name="sync_gmail" msgid="714886122098006477">"Gmail"</string>
     <string name="sync_calendar" msgid="9056527206714733735">"تقویم"</string>
     <string name="sync_contacts" msgid="9174914394377828043">"مخاطبین"</string>
     <string name="sync_plug" msgid="3905078969081888738"><font fgcolor="#ffffffff">"به Google Sync خوش آمدید!"</font>\n"این راهکاری از Google است برای همگام‌سازی داده‌ها و ایجاد امکان دسترسی به مخاطبین، قرارها و موارد بیشتر از هر کجا که هستید."</string>
     <string name="header_application_sync_settings" msgid="6205903695598000286">"تنظیمات همگام‌سازی برنامه"</string>
-    <string name="header_data_and_synchronization" msgid="5165024023936509896">"داده و همگام سازی"</string>
+    <string name="header_data_and_synchronization" msgid="5165024023936509896">"داده و همگام‌سازی"</string>
     <string name="preference_change_password_title" msgid="8955581790270130056">"تغییر رمز ورود"</string>
     <string name="header_account_settings" msgid="5382475087121880626">"تنظیمات حساب"</string>
     <string name="remove_account_label" msgid="5921986026504804119">"حذف حساب"</string>
@@ -1672,7 +1665,7 @@
     <string name="vpn_ipsec_server_cert" msgid="6599276718456935010">"گواهی سرور IPSec"</string>
     <string name="vpn_show_options" msgid="7182688955890457003">"نمایش گزینه‌های پیشرفته"</string>
     <string name="vpn_search_domains" msgid="5391995501541199624">"دامنه‌های جستجوی DNS"</string>
-    <string name="vpn_dns_servers" msgid="5570715561245741829">"سرور DNS (به عنوان مثال 8.8.8.8)"</string>
+    <string name="vpn_dns_servers" msgid="5570715561245741829">"سرور DNS (به‌عنوان مثال 8.8.8.8)"</string>
     <string name="vpn_routes" msgid="3818655448226312232">"مسیرهای هدایت (مانند 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="1863901629860867849">"نام کاربری"</string>
     <string name="vpn_password" msgid="6756043647233596772">"رمز ورود"</string>
@@ -1689,14 +1682,10 @@
     <string name="vpn_create" msgid="5628219087569761496">"افزودن نمایه VPN"</string>
     <string name="vpn_menu_edit" msgid="408275284159243490">"ویرایش نمایه"</string>
     <string name="vpn_menu_delete" msgid="8098021690546891414">"حذف نمایه"</string>
-    <!-- no translation found for vpn_menu_lockdown (7863024538064268139) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_summary (2200032066376720339) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_none (9214462857336483711) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_config_error (3898576754914217248) -->
-    <skip />
+    <string name="vpn_menu_lockdown" msgid="7863024538064268139">"VPN همیشه فعال"</string>
+    <string name="vpn_lockdown_summary" msgid="2200032066376720339">"یک نمایه VPN را برای اتصال دائم انتخاب نمایید. فقط در صورتیکه به این VPN متصل باشید ترافیک شبکه مجاز خواهد بود."</string>
+    <string name="vpn_lockdown_none" msgid="9214462857336483711">"هیچکدام"</string>
+    <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"VPN همیشه فعال به یک آدرس IP برای سرور و DNS نیاز دارد."</string>
     <string name="vpn_no_network" msgid="3050233675132726155">"اتصال شبکه موجود نیست. لطفاً دوباره امتحان کنید."</string>
     <string name="vpn_missing_cert" msgid="7972907102570411501">"یک گواهی‌نامه موجود نیست. لطفاً نمایه را ویرایش کنید."</string>
     <string name="trusted_credentials_system_tab" msgid="3984284264816924534">"سیستم"</string>
@@ -1718,7 +1707,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"غیرفعال"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"مجاز"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"در حال اعمال"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"کاربران و محدودیت‌ها"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"کاربران"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"افزودن کاربر"</string>
     <string name="user_details_title" msgid="3037625632127241370">"ویرایش جزئیات"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index d7e7cbf..c3c9b5b 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Haetaan..."</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Nimeä laite uudelleen"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Vertaislaitteet"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Ei yhteyttä"</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Laitteen nimeäminen uudelleen epäonnistui."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Katkaistaanko yhteys?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Jos kosketat Katkaise yhteys, yhteys laitteeseen <xliff:g id="PEER_NAME">%1$s</xliff:g> ja <xliff:g id="PEER_COUNT">%2$s</xliff:g> muuhun laitteeseen katkaistaan."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Peruutetaanko kutsu?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Haluatko peruuttaa laitteelle <xliff:g id="PEER_NAME">%1$s</xliff:g> lähetetyn yhteydenmuodostuskutsun?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Kannettava wifi-yhteyspiste"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Otetaan yhteyspiste käyttöön..."</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Poistetaan yhteyspiste käytöstä..."</string>
@@ -1718,7 +1712,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Ei käytössä"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Salliva"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Täytäntöönpano"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Käyttäjät ja rajoitukset"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Käyttäjät"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Lisää käyttäjä"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Muokkaa tietoja"</string>
diff --git a/res/values-fr/arrays.xml b/res/values-fr/arrays.xml
index 3304e32..b79d20a 100644
--- a/res/values-fr/arrays.xml
+++ b/res/values-fr/arrays.xml
@@ -91,7 +91,7 @@
     <item msgid="1634960474403853625">"Déconnecté"</item>
     <item msgid="746097431216080650">"Échec"</item>
     <item msgid="6367044185730295334">"Bloqué"</item>
-    <item msgid="503942654197908005">"Évite momentanément une mauvaise connexion"</item>
+    <item msgid="503942654197908005">"Mauvaise connexion évitée momentanément"</item>
   </string-array>
   <string-array name="wifi_status_with_ssid">
     <item msgid="7714855332363650812"></item>
@@ -105,7 +105,7 @@
     <item msgid="197508606402264311">"Déconnecté"</item>
     <item msgid="8578370891960825148">"Échec"</item>
     <item msgid="5660739516542454527">"Bloqué"</item>
-    <item msgid="1805837518286731242">"Évite momentanément une mauvaise connexion"</item>
+    <item msgid="1805837518286731242">"Mauvaise connexion évitée momentanément"</item>
   </string-array>
     <!-- no translation found for wifi_security:0 (8491993170197127709) -->
     <!-- no translation found for wifi_security:1 (6524315248437318854) -->
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 90f3f96..1952353 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Recherche en cours…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Renommer l\'appareil"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Appareils associés"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Impossible de se connecter."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Échec du changement de nom de l\'appareil."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Déconnecter ?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Si vous vous déconnectez, votre connexion avec <xliff:g id="PEER_NAME">%1$s</xliff:g> et <xliff:g id="PEER_COUNT">%2$s</xliff:g> autres appareils prendra fin."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Annuler l\'invitation ?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Voulez-vous annuler l\'invitation à se connecter avec <xliff:g id="PEER_NAME">%1$s</xliff:g> ?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Point d\'accès Wi-Fi"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Activation du point d\'accès Wi-Fi en cours…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Désactivation du point d\'accès Wi-Fi en cours…"</string>
@@ -1720,7 +1714,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Désactivé"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Permissif"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Application"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Utilisateurs et restrictions"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Utilisateurs"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Ajouter utilisateur"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Modifier les informations"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 29600d3..aa46ab6 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"खोज रहा है…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"उपकरण का नाम बदलें"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"पीयर उपकरण"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"कनेक्‍ट नहीं किया जा सका."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"उपकरण का नाम बदलने में विफल रहा."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"डिस्‍कनेक्‍ट करें?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"यदि आप डिस्‍कनेक्‍ट करते हैं, तो <xliff:g id="PEER_NAME">%1$s</xliff:g> और <xliff:g id="PEER_COUNT">%2$s</xliff:g> अन्‍य उपकरणों के साथ आपका कनेक्‍शन समाप्त हो जाएगा."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"आमंत्रण रद्द करें?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"क्या आप <xliff:g id="PEER_NAME">%1$s</xliff:g> से कनेक्ट होने का आमंत्रण रद्द करना चाहते हैं?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"पोर्टेबल Wi-Fi हॉट स्‍पॉट"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"हॉटस्‍पॉट को चालू किया जा रहा है…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"हॉटस्‍पॉट को बंद किया जा रहा है…"</string>
@@ -1019,8 +1013,7 @@
     <string name="external_data_size_label" product="nosdcard" msgid="7533821466482000453">"USB संग्रहण डेटा"</string>
     <string name="external_data_size_label" product="default" msgid="626414192825329708">"SD कार्ड"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"अनइंस्टॉल करें"</string>
-    <!-- no translation found for install_text (884360662922471113) -->
-    <skip />
+    <string name="install_text" msgid="884360662922471113">"इंस्टॉल करें"</string>
     <string name="disable_text" msgid="6544054052049395202">"अक्षम करें"</string>
     <string name="enable_text" msgid="9217362512327828987">"सक्षम करें"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"डेटा साफ़ करें"</string>
@@ -1690,14 +1683,10 @@
     <string name="vpn_create" msgid="5628219087569761496">" VPN प्रोफ़ाइल जोड़ें"</string>
     <string name="vpn_menu_edit" msgid="408275284159243490">"प्रोफ़ाइल संपादित करें"</string>
     <string name="vpn_menu_delete" msgid="8098021690546891414">"प्रोफ़ाइल हटाएं"</string>
-    <!-- no translation found for vpn_menu_lockdown (7863024538064268139) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_summary (2200032066376720339) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_none (9214462857336483711) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_config_error (3898576754914217248) -->
-    <skip />
+    <string name="vpn_menu_lockdown" msgid="7863024538064268139">"हमेशा-चालू VPN"</string>
+    <string name="vpn_lockdown_summary" msgid="2200032066376720339">"वह VPN प्रोफ़ाइल चुनें जिससे हमेशा कनेक्ट रहना है. नेटवर्क ट्रैफ़िक की अनुमति केवल इस VPN से कनेक्ट रहने पर ही दी जाएगी."</string>
+    <string name="vpn_lockdown_none" msgid="9214462857336483711">"कोई नहीं"</string>
+    <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"हमेशा-चालू VPN हेतु, सर्वर और DNS दोनों के लिए IP पता होना आवश्यक है."</string>
     <string name="vpn_no_network" msgid="3050233675132726155">"कोई नेटवर्क कनेक्शन नहीं है. कृपया बाद में पुन: प्रयास करें."</string>
     <string name="vpn_missing_cert" msgid="7972907102570411501">"प्रमाणपत्र गुम है. प्रोफ़ाइल संपा. करें."</string>
     <string name="trusted_credentials_system_tab" msgid="3984284264816924534">"सिस्‍टम"</string>
@@ -1719,7 +1708,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"अक्षम"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"अनुमति देने वाला"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"लागू किया जा रहा है"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"उपयोगकर्ता और प्रतिबंध"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"उपयोगकर्ता"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"उपयोगकर्ता जोड़ें"</string>
     <string name="user_details_title" msgid="3037625632127241370">"विवरण संपादित करें"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index ad33552..1f777c4 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Traženje..."</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Preimenuj uređaj"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Paralelni uređaji"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Povezivanje nije bilo moguće."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Preimenovanje uređaja nije uspjelo."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Isključiti?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Ako odspojite, prekinut će se veza s uređajem <xliff:g id="PEER_NAME">%1$s</xliff:g> i <xliff:g id="PEER_COUNT">%2$s</xliff:g> te ostalim uređajima."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Otkazati pozivnicu?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Želite li otkazati pozivnicu za povezivanje s korisnikom <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Prijenosna pristupna WiFi točka"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Uključivanje žarišne točke…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Isključivanje žarišne točke…"</string>
@@ -1019,8 +1013,7 @@
     <string name="external_data_size_label" product="nosdcard" msgid="7533821466482000453">"USB uređaj za pohranu podataka"</string>
     <string name="external_data_size_label" product="default" msgid="626414192825329708">"SD kartica"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Deinstaliraj"</string>
-    <!-- no translation found for install_text (884360662922471113) -->
-    <skip />
+    <string name="install_text" msgid="884360662922471113">"Instaliraj"</string>
     <string name="disable_text" msgid="6544054052049395202">"Onemogući"</string>
     <string name="enable_text" msgid="9217362512327828987">"Omogući"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Izbriši podatke"</string>
@@ -1689,14 +1682,10 @@
     <string name="vpn_create" msgid="5628219087569761496">"Dodavanje VPN profila"</string>
     <string name="vpn_menu_edit" msgid="408275284159243490">"Uredi profil"</string>
     <string name="vpn_menu_delete" msgid="8098021690546891414">"Izbriši profil"</string>
-    <!-- no translation found for vpn_menu_lockdown (7863024538064268139) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_summary (2200032066376720339) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_none (9214462857336483711) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_config_error (3898576754914217248) -->
-    <skip />
+    <string name="vpn_menu_lockdown" msgid="7863024538064268139">"Uvijek uključena VPN mreža"</string>
+    <string name="vpn_lockdown_summary" msgid="2200032066376720339">"Odaberite VPN profil s kojim ćete uvijek biti povezani. Mrežni promet bit će dopušten samo kada ste povezani s tom VPN mrežom."</string>
+    <string name="vpn_lockdown_none" msgid="9214462857336483711">"Ništa"</string>
+    <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"Uvijek uključena VPN mreža zahtijeva IP adresu za poslužitelj i za DNS."</string>
     <string name="vpn_no_network" msgid="3050233675132726155">"Nema mrežne veze. Pokušajte ponovo kasnije."</string>
     <string name="vpn_missing_cert" msgid="7972907102570411501">"Nedostaje certifikat. Uredite profil."</string>
     <string name="trusted_credentials_system_tab" msgid="3984284264816924534">"Sustav"</string>
@@ -1718,7 +1707,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Onemogućeno"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Omogućeno"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Provođenje"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Korisnici i ograničenja"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Korisnici"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Dodaj korisnika"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Uređivanje pojedinosti"</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index ea6fce23..2bc4f32 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Keresés..."</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Eszköz átnevezése"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Partnereszközök"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"A kapcsolódás sikertelen."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Nem sikerült átnevezni az eszközt."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Megszakítja?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Ha bontja a kapcsolatot, akkor megszakad a kapcsolat a következőkkel: <xliff:g id="PEER_NAME">%1$s</xliff:g> és <xliff:g id="PEER_COUNT">%2$s</xliff:g> további eszköz."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Törli a meghívást?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Szeretné törölni a(z) <xliff:g id="PEER_NAME">%1$s</xliff:g> eszközhöz való csatlakozásra vonatkozó meghívást?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Hordozható Wi-Fi hotspot"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Hotspot bekapcsolása..."</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Hotspot kikapcsolása..."</string>
@@ -1019,8 +1013,7 @@
     <string name="external_data_size_label" product="nosdcard" msgid="7533821466482000453">"USB-adatok"</string>
     <string name="external_data_size_label" product="default" msgid="626414192825329708">"SD-kártya"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Eltávolítás"</string>
-    <!-- no translation found for install_text (884360662922471113) -->
-    <skip />
+    <string name="install_text" msgid="884360662922471113">"Telepítés"</string>
     <string name="disable_text" msgid="6544054052049395202">"Letiltás"</string>
     <string name="enable_text" msgid="9217362512327828987">"Engedélyezés"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Adatok törlése"</string>
@@ -1689,14 +1682,10 @@
     <string name="vpn_create" msgid="5628219087569761496">"VPN-profil hozzáadása"</string>
     <string name="vpn_menu_edit" msgid="408275284159243490">"Profil szerkesztése"</string>
     <string name="vpn_menu_delete" msgid="8098021690546891414">"Profil törlése"</string>
-    <!-- no translation found for vpn_menu_lockdown (7863024538064268139) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_summary (2200032066376720339) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_none (9214462857336483711) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_config_error (3898576754914217248) -->
-    <skip />
+    <string name="vpn_menu_lockdown" msgid="7863024538064268139">"Mindig bekapcsolt VPN"</string>
+    <string name="vpn_lockdown_summary" msgid="2200032066376720339">"Válasszon ki egy VPN-profilt, amelyhez mindig csatlakozni szeretne. A hálózati forgalom csak akkor lesz engedélyezve, ha ehhez a VPN-hez csatlakozik."</string>
+    <string name="vpn_lockdown_none" msgid="9214462857336483711">"Egyik sem"</string>
+    <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"A mindig bekapcsolt VPN-hez a kiszolgáló és a DNS IP-címe is szükséges."</string>
     <string name="vpn_no_network" msgid="3050233675132726155">"Nincs hálózati kapcsolat. Próbálja újra később."</string>
     <string name="vpn_missing_cert" msgid="7972907102570411501">"Egy tanúsítvány hiányzik. Kérjük, módosítsa a profilt."</string>
     <string name="trusted_credentials_system_tab" msgid="3984284264816924534">"Rendszer"</string>
@@ -1720,7 +1709,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Letiltva"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Engedélyezve"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Kényszerítve"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Felhaszn. és korlátozások"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Felhasználók"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Felhasználó hozzáad."</string>
     <string name="user_details_title" msgid="3037625632127241370">"Részletek szerkesztése"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 7ba0a86..716219e 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Menelusuri…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Ganti nama perangkat"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Perangkat P2P"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Tidak dapat menyambung."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Gagal mengubah nama perangkat."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Putuskan sambungan?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Jika diputuskan, sambungan Anda dengan <xliff:g id="PEER_NAME">%1$s</xliff:g> dan <xliff:g id="PEER_COUNT">%2$s</xliff:g> perangkat lain akan berakhir."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Batalkan undangan?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Apakah Anda ingin membatalkan undangan untuk tersambung dengan <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Hotspot Wi-Fi portabel"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Menyalakan hotspot..."</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Mematikan hotspot..."</string>
@@ -1019,8 +1013,7 @@
     <string name="external_data_size_label" product="nosdcard" msgid="7533821466482000453">"Data penyimpanan USB"</string>
     <string name="external_data_size_label" product="default" msgid="626414192825329708">"Kartu SD"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Copot pemasangan"</string>
-    <!-- no translation found for install_text (884360662922471113) -->
-    <skip />
+    <string name="install_text" msgid="884360662922471113">"Pasang"</string>
     <string name="disable_text" msgid="6544054052049395202">"Nonaktifkan"</string>
     <string name="enable_text" msgid="9217362512327828987">"Aktifkan"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Hapus data"</string>
@@ -1689,14 +1682,10 @@
     <string name="vpn_create" msgid="5628219087569761496">"Menambahkan profil VPN"</string>
     <string name="vpn_menu_edit" msgid="408275284159243490">"Edit profil"</string>
     <string name="vpn_menu_delete" msgid="8098021690546891414">"Hapus profil"</string>
-    <!-- no translation found for vpn_menu_lockdown (7863024538064268139) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_summary (2200032066376720339) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_none (9214462857336483711) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_config_error (3898576754914217248) -->
-    <skip />
+    <string name="vpn_menu_lockdown" msgid="7863024538064268139">"VPN selalu aktif"</string>
+    <string name="vpn_lockdown_summary" msgid="2200032066376720339">"Pilih profil VPN untuk tetap tersambung. Lalu lintas jaringan hanya akan diperbolehkan jika tersambung ke VPN ini."</string>
+    <string name="vpn_lockdown_none" msgid="9214462857336483711">"Tidak ada"</string>
+    <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"VPN selalu aktif membutuhkan alamat IP baik untuk server serta DNS."</string>
     <string name="vpn_no_network" msgid="3050233675132726155">"Tidak ada sambungan jaringan. Coba lagi nanti."</string>
     <string name="vpn_missing_cert" msgid="7972907102570411501">"Sertifikat hilang. Silakan edit profil."</string>
     <string name="trusted_credentials_system_tab" msgid="3984284264816924534">"Sistem"</string>
@@ -1718,7 +1707,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Nonaktif"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Tidak Wajib"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Wajib"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Batasan &amp; pengguna"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Pengguna"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Tambahkan pengguna"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Edit detail"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index cd1ea3d..9263432 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Ricerca…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Rinomina dispositivo"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Dispositivi peer"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Impossibile connettersi."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Impossibile rinominare il dispositivo."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Disconnettere?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Se ti disconnetti verrà terminata la connessione con <xliff:g id="PEER_NAME">%1$s</xliff:g> e altri <xliff:g id="PEER_COUNT">%2$s</xliff:g> dispositivi."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Annullare l\'invito?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Vuoi annullare l\'invito a connettersi con <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Hotspot Wi-Fi portatile"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Attivazione hotspot..."</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Disattivazione hotspot..."</string>
@@ -1718,7 +1712,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Disattivato"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Permissivo"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Applicazione"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Utenti e limitazioni"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Utenti"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Aggiungi utente"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Modifica dettagli"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index f621d7d..13ced42 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"מחפש…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"שנה את שם המכשיר"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"מכשירי עמית"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"לא ניתן להתחבר."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"ניסיון שינוי השם של המכשיר נכשל."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"להתנתק?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"אם תתנתק, החיבור שלך עם <xliff:g id="PEER_NAME">%1$s</xliff:g> ועם <xliff:g id="PEER_COUNT">%2$s</xliff:g> מכשירים נוספים יסתיים."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"האם לבטל את ההזמנה?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"האם אתה רוצה לבטל את ההזמנה ליצירת קשר עם <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"נקודה חמה ניידת של Wi-Fi"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"מפעיל נקודה חמה…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"מכבה נקודה חמה…"</string>
@@ -1718,7 +1712,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"מושבת"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"מתירני"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"אכיפה"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"משתמשים והגבלות"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"משתמשים"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"הוסף משתמש"</string>
     <string name="user_details_title" msgid="3037625632127241370">"ערוך פרטים"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 8ebdae5..fb378c9 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -602,8 +602,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"検索しています…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"デバイス名を変更"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"ピアデバイス"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"接続できませんでした。"</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"端末の名前を変更できませんでした。"</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"切断しますか？"</string>
@@ -611,10 +609,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"切断すると、<xliff:g id="PEER_NAME">%1$s</xliff:g>と他の<xliff:g id="PEER_COUNT">%2$s</xliff:g>個のデバイスの接続が停止します。"</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"招待状のキャンセル"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"<xliff:g id="PEER_NAME">%1$s</xliff:g>との接続への招待をキャンセルしますか？"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"ポータブルWi-Fiアクセスポイント"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"アクセスポイントをONにしています…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"アクセスポイントをOFFにしています…"</string>
@@ -1021,8 +1015,7 @@
     <string name="external_data_size_label" product="nosdcard" msgid="7533821466482000453">"USBストレージデータ"</string>
     <string name="external_data_size_label" product="default" msgid="626414192825329708">"SDカード"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"アンインストール"</string>
-    <!-- no translation found for install_text (884360662922471113) -->
-    <skip />
+    <string name="install_text" msgid="884360662922471113">"インストール"</string>
     <string name="disable_text" msgid="6544054052049395202">"無効にする"</string>
     <string name="enable_text" msgid="9217362512327828987">"有効にする"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"データを消去"</string>
@@ -1691,14 +1684,10 @@
     <string name="vpn_create" msgid="5628219087569761496">"VPNプロフィールの追加"</string>
     <string name="vpn_menu_edit" msgid="408275284159243490">"プロフィールを編集"</string>
     <string name="vpn_menu_delete" msgid="8098021690546891414">"プロフィールを削除"</string>
-    <!-- no translation found for vpn_menu_lockdown (7863024538064268139) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_summary (2200032066376720339) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_none (9214462857336483711) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_config_error (3898576754914217248) -->
-    <skip />
+    <string name="vpn_menu_lockdown" msgid="7863024538064268139">"常時接続VPN"</string>
+    <string name="vpn_lockdown_summary" msgid="2200032066376720339">"常時接続するVPNプロファイルを選択します。このVPNに接続しているときのみネットワークにアクセスできます。"</string>
+    <string name="vpn_lockdown_none" msgid="9214462857336483711">"なし"</string>
+    <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"VPNへの常時接続にはサーバーとDNSの両方のIPアドレスが必要です。"</string>
     <string name="vpn_no_network" msgid="3050233675132726155">"ネットワークに接続できません。しばらくしてからもう一度お試しください。"</string>
     <string name="vpn_missing_cert" msgid="7972907102570411501">"証明書がありません。プロフィールを編集してください。"</string>
     <string name="trusted_credentials_system_tab" msgid="3984284264816924534">"システム"</string>
@@ -1720,7 +1709,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Disabled"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Permissive"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Enforcing"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"ユーザーと制限"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"ユーザー"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"ユーザーを追加"</string>
     <string name="user_details_title" msgid="3037625632127241370">"詳細情報の編集"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 0aa796e..03ac642 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"검색 중…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"기기 이름 변경"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"P2P 기기"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"연결할 수 없습니다."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"기기 이름을 바꾸지 못했습니다."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"연결을 해제하시겠습니까?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"연결을 중단하면 <xliff:g id="PEER_NAME">%1$s</xliff:g> 외 다른 <xliff:g id="PEER_COUNT">%2$s</xliff:g>개 기기와의 연결이 끊어집니다."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"초대를 취소하시겠습니까?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"<xliff:g id="PEER_NAME">%1$s</xliff:g>와(과) 연결하려는 초대를 취소하시겠습니까?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"휴대용 Wi-Fi 핫스팟"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"핫스팟 켜는 중…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"핫스팟 끄는 중…"</string>
@@ -1019,8 +1013,7 @@
     <string name="external_data_size_label" product="nosdcard" msgid="7533821466482000453">"USB 저장소 데이터"</string>
     <string name="external_data_size_label" product="default" msgid="626414192825329708">"SD 카드"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"제거"</string>
-    <!-- no translation found for install_text (884360662922471113) -->
-    <skip />
+    <string name="install_text" msgid="884360662922471113">"설치"</string>
     <string name="disable_text" msgid="6544054052049395202">"사용 안함"</string>
     <string name="enable_text" msgid="9217362512327828987">"사용"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"데이터 지우기"</string>
@@ -1689,14 +1682,10 @@
     <string name="vpn_create" msgid="5628219087569761496">"VPN 프로필 추가"</string>
     <string name="vpn_menu_edit" msgid="408275284159243490">"프로필 수정"</string>
     <string name="vpn_menu_delete" msgid="8098021690546891414">"프로필 삭제"</string>
-    <!-- no translation found for vpn_menu_lockdown (7863024538064268139) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_summary (2200032066376720339) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_none (9214462857336483711) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_config_error (3898576754914217248) -->
-    <skip />
+    <string name="vpn_menu_lockdown" msgid="7863024538064268139">"연결 유지 VPN"</string>
+    <string name="vpn_lockdown_summary" msgid="2200032066376720339">"VPN 프로필을 선택하여 연결된 상태를 유지하세요. 이 VPN에 연결된 상태에서만 네트워크 트래픽이 허용됩니다."</string>
+    <string name="vpn_lockdown_none" msgid="9214462857336483711">"없음"</string>
+    <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"VPN을 연결 상태로 유지하려면 서버와 DNS의 IP 주소가 필요합니다."</string>
     <string name="vpn_no_network" msgid="3050233675132726155">"네트워크에 연결되어 있지 않습니다. 잠시 후 다시 시도해 주세요."</string>
     <string name="vpn_missing_cert" msgid="7972907102570411501">"인증서가 누락되었습니다. 프로필을 수정하세요."</string>
     <string name="trusted_credentials_system_tab" msgid="3984284264816924534">"시스템"</string>
@@ -1718,7 +1707,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"사용 안함"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"허가"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"시행"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"사용자/제한사항"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"사용자"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"사용자 추가"</string>
     <string name="user_details_title" msgid="3037625632127241370">"세부정보 수정"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 02063df..6c290b1 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Ieškoma…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Pervardyti įrenginį"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Lygiaverčiai įrenginiai"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Nepavyko prijungti."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Nepavyko pervardyti įrenginio."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Atsijungti?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Atsijungus, bus nutrauktas ryšys su „<xliff:g id="PEER_NAME">%1$s</xliff:g>“ ir <xliff:g id="PEER_COUNT">%2$s</xliff:g> kitais (-ų) įrenginiais (-ių)."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Atšaukti kvietimą?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Ar norite atšaukti kvietimą prisijungti prie <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Perkeliama „Wi-Fi“ aktyvioji sritis"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Įjungiamas viešosios interneto prieigos taškas…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Išjungiamas viešosios interneto prieigos taškas…"</string>
@@ -1019,8 +1013,7 @@
     <string name="external_data_size_label" product="nosdcard" msgid="7533821466482000453">"USB atminties duomenys"</string>
     <string name="external_data_size_label" product="default" msgid="626414192825329708">"SD kortelė"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Pašalinti"</string>
-    <!-- no translation found for install_text (884360662922471113) -->
-    <skip />
+    <string name="install_text" msgid="884360662922471113">"Įdiegti"</string>
     <string name="disable_text" msgid="6544054052049395202">"Neleisti"</string>
     <string name="enable_text" msgid="9217362512327828987">"Įgalinti"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Išvalyti duomenis"</string>
@@ -1689,14 +1682,10 @@
     <string name="vpn_create" msgid="5628219087569761496">"Pridėti VPN profilį"</string>
     <string name="vpn_menu_edit" msgid="408275284159243490">"Redaguoti profilį"</string>
     <string name="vpn_menu_delete" msgid="8098021690546891414">"Ištrinti profilį"</string>
-    <!-- no translation found for vpn_menu_lockdown (7863024538064268139) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_summary (2200032066376720339) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_none (9214462857336483711) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_config_error (3898576754914217248) -->
-    <skip />
+    <string name="vpn_menu_lockdown" msgid="7863024538064268139">"Visada įjungtas VPN"</string>
+    <string name="vpn_lockdown_summary" msgid="2200032066376720339">"Pasirinkite VPN profilį, kad visada būtumėte prisijungę. Tinklo srautas bus leidžiamas, tik prisijungus prie šio VPN."</string>
+    <string name="vpn_lockdown_none" msgid="9214462857336483711">"Joks"</string>
+    <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"Norint, kad VPN būtų visada įjungtas, reikalingas serverio ir DNS IP adresas."</string>
     <string name="vpn_no_network" msgid="3050233675132726155">"Šiuo metu nėra tinklo ryšio. Bandykite dar kartą vėliau."</string>
     <string name="vpn_missing_cert" msgid="7972907102570411501">"Nėra sertifikato. Redaguokite profilį."</string>
     <string name="trusted_credentials_system_tab" msgid="3984284264816924534">"Sistema"</string>
@@ -1718,7 +1707,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Neleidžiama"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Negriežta"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Vykdoma"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Naudotojai ir apribojimai"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Naudotojai"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Pridėti naudotoją"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Redaguoti informaciją"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index ad2c087..bc7c7c8 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Notiek meklēšana..."</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Pārdēvēt ierīci"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Vienādranga ierīces"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Nevarēja izveidot savienojumu."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Neizdevās pārdēvēt ierīci."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Vai pārtraukt savienojumu?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Atvienojot tiks pārtraukts savienojums ar ierīci <xliff:g id="PEER_NAME">%1$s</xliff:g> un vēl <xliff:g id="PEER_COUNT">%2$s</xliff:g> citām ierīcēm."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Vai atcelt uzaicinājumu?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Vai vēlaties atcelt uzaicinājumu izveidot savienojumu ar ierīci <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Pārnēsājams Wi-Fi tīklājs"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Notiek tīklāja ieslēgšana…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Notiek tīklāja izslēgšana…"</string>
@@ -1019,8 +1013,7 @@
     <string name="external_data_size_label" product="nosdcard" msgid="7533821466482000453">"USB atmiņas dati"</string>
     <string name="external_data_size_label" product="default" msgid="626414192825329708">"SD karte"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Atinstalēt"</string>
-    <!-- no translation found for install_text (884360662922471113) -->
-    <skip />
+    <string name="install_text" msgid="884360662922471113">"Instalēt"</string>
     <string name="disable_text" msgid="6544054052049395202">"Atspējot"</string>
     <string name="enable_text" msgid="9217362512327828987">"Iespējot"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Notīrīt datus"</string>
@@ -1689,14 +1682,10 @@
     <string name="vpn_create" msgid="5628219087569761496">"Pievienot VPN profilu"</string>
     <string name="vpn_menu_edit" msgid="408275284159243490">"Rediģēt profilu"</string>
     <string name="vpn_menu_delete" msgid="8098021690546891414">"Dzēst profilu"</string>
-    <!-- no translation found for vpn_menu_lockdown (7863024538064268139) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_summary (2200032066376720339) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_none (9214462857336483711) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_config_error (3898576754914217248) -->
-    <skip />
+    <string name="vpn_menu_lockdown" msgid="7863024538064268139">"Vienmēr ieslēgts VPN"</string>
+    <string name="vpn_lockdown_summary" msgid="2200032066376720339">"Izvēlieties VPN profilu, ar kuru izveidot pastāvīgu savienojumu. Tīkla datplūsma tiks atļauta, tikai esot izveidotam savienojumam ar šo VPN."</string>
+    <string name="vpn_lockdown_none" msgid="9214462857336483711">"Nav"</string>
+    <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"Vienmēr ieslēgtam VPN ir nepieciešama servera un DNS IP adrese."</string>
     <string name="vpn_no_network" msgid="3050233675132726155">"Nav tīkla savienojuma. Lūdzu, vēlāk mēģiniet vēlreiz."</string>
     <string name="vpn_missing_cert" msgid="7972907102570411501">"Nav norādīts sertifikāts. Lūdzu, rediģējiet profilu."</string>
     <string name="trusted_credentials_system_tab" msgid="3984284264816924534">"Sistēma"</string>
@@ -1718,7 +1707,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Atspējots"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Atļaujošs"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Īstenots"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Lietotāji un ierobežojumi"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Lietotāji"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Pievienot lietotāju"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Datu rediģēšana"</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index e54a3eb..9177a5f 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Mencari..."</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Namakan semula peranti"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Peranti setara"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Tidak boleh menyambung."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Gagal menamakan semula peranti."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Putuskan sambungan?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Jika anda menyahsambung, sambungan anda dengan <xliff:g id="PEER_NAME">%1$s</xliff:g> dan <xliff:g id="PEER_COUNT">%2$s</xliff:g> peranti lain akan berakhir."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Batalkan jemputan?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Adakah anda mahu membatalkan jemputan untuk berhubung dengan <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Titik panas Wi-Fi mudah alih"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Menghidupkan tempat liputan..."</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Mematikan tempat liputan..."</string>
@@ -1019,8 +1013,7 @@
     <string name="external_data_size_label" product="nosdcard" msgid="7533821466482000453">"Data storan USB"</string>
     <string name="external_data_size_label" product="default" msgid="626414192825329708">"Kad SD"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Nyahpasang"</string>
-    <!-- no translation found for install_text (884360662922471113) -->
-    <skip />
+    <string name="install_text" msgid="884360662922471113">"Pasang"</string>
     <string name="disable_text" msgid="6544054052049395202">"Lumpuhkan"</string>
     <string name="enable_text" msgid="9217362512327828987">"Dayakan"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Padam bersih data"</string>
@@ -1689,14 +1682,10 @@
     <string name="vpn_create" msgid="5628219087569761496">"Tambah profil VPN"</string>
     <string name="vpn_menu_edit" msgid="408275284159243490">"Edit profil"</string>
     <string name="vpn_menu_delete" msgid="8098021690546891414">"Padam profil"</string>
-    <!-- no translation found for vpn_menu_lockdown (7863024538064268139) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_summary (2200032066376720339) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_none (9214462857336483711) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_config_error (3898576754914217248) -->
-    <skip />
+    <string name="vpn_menu_lockdown" msgid="7863024538064268139">"VPN sentiasa dihidupkan"</string>
+    <string name="vpn_lockdown_summary" msgid="2200032066376720339">"Pilih profil VPN untuk sentiasa kekal bersambung kepada VPN itu. Trafik rangkaian hanya akan dibenarkan apabila bersambung ke VPN ini."</string>
+    <string name="vpn_lockdown_none" msgid="9214462857336483711">"Tiada"</string>
+    <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"VPN sentiasa dihidupkan memerlukan alamat IP untuk kedua-dua pelayan dan DNS."</string>
     <string name="vpn_no_network" msgid="3050233675132726155">"Tiada sambungan rangkaian. Sila cuba sebentar lagi."</string>
     <string name="vpn_missing_cert" msgid="7972907102570411501">"Ada sijil yang hilang. Sila edit profil."</string>
     <string name="trusted_credentials_system_tab" msgid="3984284264816924534">"Sistem"</string>
@@ -1718,7 +1707,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Dilumpuhkan"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Permisif"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Menguatkuasakan"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Sekatan &amp; pengguna"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Pengguna"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Tambah pengguna"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Edit butiran"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 2bce46c..cb8b121 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Søker …"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Gi enheten nytt navn"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Motpartsenheter"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Kunne ikke koble til."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Kunne ikke gi enheten nytt navn."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Vil du koble fra?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Hvis du kobler fra, kommer tilkoblingen med <xliff:g id="PEER_NAME">%1$s</xliff:g> og <xliff:g id="PEER_COUNT">%2$s</xliff:g> andre enheter til å avsluttes."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Vil du avbryte invitasjonen?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Vil du avbryte invitasjonen til å koble til <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Flyttbar trådløs sone"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Slår på Wi-Fi-sone …"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Slår av trådløs sone …"</string>
@@ -1718,7 +1712,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Deaktivert"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Valgfri"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Håndhevende"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Brukerrestriksjoner"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Brukere"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Legg til bruker"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Rediger detaljer"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 9acd3ad..90c431d 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Zoeken…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Naam van apparaat wijzigen"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Peer-apparaten"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Kan geen verbinding maken."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Kan naam van apparaat niet wijzigen."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Ontkoppelen?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Als u de verbinding verbreekt, wordt uw verbinding met <xliff:g id="PEER_NAME">%1$s</xliff:g> en <xliff:g id="PEER_COUNT">%2$s</xliff:g> andere apparaten beëindigd."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Uitnodiging annuleren?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Wilt u de uitnodiging voor verbinding met <xliff:g id="PEER_NAME">%1$s</xliff:g> annuleren?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Draagbare Wi-Fi-hotspot"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Hotspot inschakelen…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Hotspot uitschakelen…"</string>
@@ -1718,7 +1712,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Disabled (Uitgeschakeld)"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Permissive (Tolerant)"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Enforcing (Wordt afgedwongen)"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Gebruikers en beperkingen"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Gebruikers"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Gebruiker toevoegen"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Details bewerken"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index b8a3b11..7584797 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Wyszukiwanie…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Zmień nazwę urządzenia"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Urządzenia Peer"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Nie udało się połączyć."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Zmiana nazwy urządzenia nie powiodła się."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Rozłączyć?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Po rozłączeniu Twoje połączenie z <xliff:g id="PEER_NAME">%1$s</xliff:g> i <xliff:g id="PEER_COUNT">%2$s</xliff:g> innymi urządzeniami zostanie zakończone."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Anulować zaproszenie?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Czy chcesz anulować zaproszenie do połączenia z <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Przenośny punkt Wi-Fi"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Włączanie punktu dostępu…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Wyłączanie punktu dostępu…"</string>
@@ -1718,7 +1712,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Wyłączony"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Pobłażliwy"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Restrykcyjny"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Użytkownicy i ograniczenia"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Użytkownicy"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Dodaj użytkownika"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Edytuj szczegóły"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index e921ac1..68657fd 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"A pesquisar..."</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Mudar o nome do aparelho"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Aparelhos P2P"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Não foi possível ligar."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Falha ao renomear o dispositivo."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Desligar?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Se desligar, a ligação com <xliff:g id="PEER_NAME">%1$s</xliff:g> e <xliff:g id="PEER_COUNT">%2$s</xliff:g> outros aparelhos será terminada."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Cancelar convite?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Pretende cancelar o convite para se ligar a <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Hotspot Wi-Fi portátil"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"A ativar zona Wi-Fi..."</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"A desativar zona Wi-Fi..."</string>
@@ -1718,7 +1712,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Desativado"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Permissivo"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Forçador"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Utilizadores e restrições"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Utilizadores"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Adicionar utilizador"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Editar detalhes"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 529b5a9..fc2228c 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Pesquisando…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Renomear dispositivo"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Dispositivos pareados"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Não foi possível conectar."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Falha ao renomear dispositivo."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Desconectar?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Se você se desconectar, sua conexão com <xliff:g id="PEER_NAME">%1$s</xliff:g> e <xliff:g id="PEER_COUNT">%2$s</xliff:g> outros dispositivos serão encerrados."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Cancelar convite?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Deseja cancelar o convite para se conectar com <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Wi-Fi portátil"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Ativando o ponto de acesso..."</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Desativando o ponto de acesso..."</string>
@@ -1019,8 +1013,7 @@
     <string name="external_data_size_label" product="nosdcard" msgid="7533821466482000453">"Dados de armazenamento USB"</string>
     <string name="external_data_size_label" product="default" msgid="626414192825329708">"Cartão SD"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Desinstalar"</string>
-    <!-- no translation found for install_text (884360662922471113) -->
-    <skip />
+    <string name="install_text" msgid="884360662922471113">"Instalar"</string>
     <string name="disable_text" msgid="6544054052049395202">"Desativar"</string>
     <string name="enable_text" msgid="9217362512327828987">"Ativar"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Limpar dados"</string>
@@ -1689,14 +1682,10 @@
     <string name="vpn_create" msgid="5628219087569761496">"Adicionar perfil de VPN"</string>
     <string name="vpn_menu_edit" msgid="408275284159243490">"Editar perfil"</string>
     <string name="vpn_menu_delete" msgid="8098021690546891414">"Excluir perfil"</string>
-    <!-- no translation found for vpn_menu_lockdown (7863024538064268139) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_summary (2200032066376720339) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_none (9214462857336483711) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_config_error (3898576754914217248) -->
-    <skip />
+    <string name="vpn_menu_lockdown" msgid="7863024538064268139">"VPN sempre ativa"</string>
+    <string name="vpn_lockdown_summary" msgid="2200032066376720339">"Selecione um perfil de VPN para permanecer sempre conectado. O tráfego de rede somente será permitido quando conectado a esta VPN."</string>
+    <string name="vpn_lockdown_none" msgid="9214462857336483711">"Nenhuma"</string>
+    <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"A VPN sempre ativa requer um endereço IP para o servidor e o DNS."</string>
     <string name="vpn_no_network" msgid="3050233675132726155">"Nenhuma conexão de rede. Tente novamente mais tarde."</string>
     <string name="vpn_missing_cert" msgid="7972907102570411501">"Falta um certificado. Edite o perfil."</string>
     <string name="trusted_credentials_system_tab" msgid="3984284264816924534">"Sistema"</string>
@@ -1718,7 +1707,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Desativado"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Permissivo"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Impondo"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Usuários e restrições"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Usuários"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Adicionar usuário"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Editar detalhes"</string>
diff --git a/res/values-rm/strings.xml b/res/values-rm/strings.xml
index d375bb2..c03c2bc 100644
--- a/res/values-rm/strings.xml
+++ b/res/values-rm/strings.xml
@@ -890,8 +890,6 @@
     <skip />
     <!-- no translation found for wifi_p2p_peer_devices (299526878463303432) -->
     <skip />
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <!-- no translation found for wifi_p2p_failed_connect_message (8921447388048243547) -->
     <skip />
     <!-- no translation found for wifi_p2p_failed_rename_message (2562182284946936380) -->
@@ -906,10 +904,6 @@
     <skip />
     <!-- no translation found for wifi_p2p_cancel_connect_message (7477756213423749402) -->
     <skip />
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Punct d\'access WLAN mobil"</string>
     <!-- no translation found for wifi_tether_starting (1322237938998639724) -->
     <skip />
@@ -2690,7 +2684,7 @@
     <skip />
     <!-- no translation found for selinux_status_enforcing (2252703756208463329) -->
     <skip />
-    <!-- no translation found for user_settings_title (5189224330534906766) -->
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
     <skip />
     <!-- no translation found for user_list_title (2152311434413878709) -->
     <skip />
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index c4980b7..ddbd5cd 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Se caută…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Redenumiţi dispozitivul"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Împerecheaţi dispozitivele"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Conectarea nu s-a putut realiza."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Dispozitivul nu a fost redenumit."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Deconectaţi?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Dacă vă deconectaţi, conexiunea cu <xliff:g id="PEER_NAME">%1$s</xliff:g> şi cu alte <xliff:g id="PEER_COUNT">%2$s</xliff:g> dispozitive se va încheia."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Anulaţi invitaţia?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Doriţi să anulaţi invitaţia de conectare cu <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Hotspot Wi-Fi portabil"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Se activează hotspotul..."</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Se dezactivează hotspotul..."</string>
@@ -1019,8 +1013,7 @@
     <string name="external_data_size_label" product="nosdcard" msgid="7533821466482000453">"Stocare date pe USB"</string>
     <string name="external_data_size_label" product="default" msgid="626414192825329708">"Card SD"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Dezinstalaţi"</string>
-    <!-- no translation found for install_text (884360662922471113) -->
-    <skip />
+    <string name="install_text" msgid="884360662922471113">"Instalaţi"</string>
     <string name="disable_text" msgid="6544054052049395202">"Dezactivaţi"</string>
     <string name="enable_text" msgid="9217362512327828987">"Activaţi"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Ştergeţi datele"</string>
@@ -1690,14 +1683,10 @@
     <string name="vpn_create" msgid="5628219087569761496">"Adăugaţi un profil VPN"</string>
     <string name="vpn_menu_edit" msgid="408275284159243490">"Editaţi profilul"</string>
     <string name="vpn_menu_delete" msgid="8098021690546891414">"Ştergeţi profilul"</string>
-    <!-- no translation found for vpn_menu_lockdown (7863024538064268139) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_summary (2200032066376720339) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_none (9214462857336483711) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_config_error (3898576754914217248) -->
-    <skip />
+    <string name="vpn_menu_lockdown" msgid="7863024538064268139">"Reţea VPN activată permanent"</string>
+    <string name="vpn_lockdown_summary" msgid="2200032066376720339">"Selectaţi un profil VPN pentru a rămâne conectat întotdeauna la reţea. Traficul de reţea va fi permis numai atunci când sunteţi conectat(ă) la această reţea VPN."</string>
+    <string name="vpn_lockdown_none" msgid="9214462857336483711">"Niciuna"</string>
+    <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"Activarea permanentă a reţelei VPN necesită o adresă IP, atât pentru server, cât şi pentru DNS."</string>
     <string name="vpn_no_network" msgid="3050233675132726155">"Nu există nicio conexiune la reţea. Încercaţi din nou mai târziu."</string>
     <string name="vpn_missing_cert" msgid="7972907102570411501">"Lipseşte un certificat. Editaţi profilul."</string>
     <string name="trusted_credentials_system_tab" msgid="3984284264816924534">"Sistem"</string>
@@ -1719,7 +1708,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Dezactivat"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Facultativ"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Obligatoriu"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Utilizatori şi restricţii"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Utilizatori"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Adăugaţi utilizator"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Editaţi detaliile"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 4b757b8..93cfc9e 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Поиск…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Переименовать устройство"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Обнаруженные устройства"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Не удалось подключиться."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Не удалось переименовать устройство."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Отключиться?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"После отключения соединение с \"<xliff:g id="PEER_NAME">%1$s</xliff:g>\" и другими устройствами (<xliff:g id="PEER_COUNT">%2$s</xliff:g>) будет прервано."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Отмена приглашения"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Вы собираетесь отменить приглашение на подключение к устройству \"<xliff:g id="PEER_NAME">%1$s</xliff:g>\". Продолжить?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Точка доступа Wi-Fi"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Включение точки доступа…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Выключение точки доступа…"</string>
@@ -1020,8 +1014,7 @@
     <string name="external_data_size_label" product="nosdcard" msgid="7533821466482000453">"на USB-накопителе"</string>
     <string name="external_data_size_label" product="default" msgid="626414192825329708">"SD-карта"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Удалить"</string>
-    <!-- no translation found for install_text (884360662922471113) -->
-    <skip />
+    <string name="install_text" msgid="884360662922471113">"Установить"</string>
     <string name="disable_text" msgid="6544054052049395202">"Отключить"</string>
     <string name="enable_text" msgid="9217362512327828987">"Включить"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Стереть данные"</string>
@@ -1690,14 +1683,10 @@
     <string name="vpn_create" msgid="5628219087569761496">"Добавить профиль VPN"</string>
     <string name="vpn_menu_edit" msgid="408275284159243490">"Изменить профиль"</string>
     <string name="vpn_menu_delete" msgid="8098021690546891414">"Удалить профиль"</string>
-    <!-- no translation found for vpn_menu_lockdown (7863024538064268139) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_summary (2200032066376720339) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_none (9214462857336483711) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_config_error (3898576754914217248) -->
-    <skip />
+    <string name="vpn_menu_lockdown" msgid="7863024538064268139">"Постоянная VPN"</string>
+    <string name="vpn_lockdown_summary" msgid="2200032066376720339">"Выберите постоянную сеть VPN: трафик будет разрешен только при подключении к этой сети."</string>
+    <string name="vpn_lockdown_none" msgid="9214462857336483711">"Сеть не выбрана"</string>
+    <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"Укажите IP-адрес для сервера и DNS."</string>
     <string name="vpn_no_network" msgid="3050233675132726155">"Отсутствует сетевое соединение. Повторите попытку позже."</string>
     <string name="vpn_missing_cert" msgid="7972907102570411501">"Отсутствует сертификат. Измените профиль."</string>
     <string name="trusted_credentials_system_tab" msgid="3984284264816924534">"Система"</string>
@@ -1721,7 +1710,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Отключено"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Только предупреждение"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Блокировка"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Ограничения пользователей"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Пользователи"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Добавить пользователя"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Изменить сведения"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 7e19d66..18ad400 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Prebieha vyhľadávanie..."</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Premenovať zariadenie"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Partnerské zariadenia"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Nepodarilo sa pripojiť."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Premenovanie zariadenia zlyhalo."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Odpojiť?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Ak sa odpojíte, ukončíte spojenie so zariadením <xliff:g id="PEER_NAME">%1$s</xliff:g> a ďalšími zariadeniami (<xliff:g id="PEER_COUNT">%2$s</xliff:g>)."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Zrušiť pozvánku?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Chcete zrušiť pozvánku na spojenie s klientom <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Prenosný prístupový bod Wi-Fi"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Prebieha zapínanie hotspotu..."</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Prebieha vypínanie hotspotu..."</string>
@@ -1019,8 +1013,7 @@
     <string name="external_data_size_label" product="nosdcard" msgid="7533821466482000453">"Údaje ukladacieho priestoru USB"</string>
     <string name="external_data_size_label" product="default" msgid="626414192825329708">"Karta SD"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Odinštalovať"</string>
-    <!-- no translation found for install_text (884360662922471113) -->
-    <skip />
+    <string name="install_text" msgid="884360662922471113">"Inštalovať"</string>
     <string name="disable_text" msgid="6544054052049395202">"Zakázať"</string>
     <string name="enable_text" msgid="9217362512327828987">"Povoliť"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Vymazanie údajov"</string>
@@ -1689,14 +1682,10 @@
     <string name="vpn_create" msgid="5628219087569761496">"Pridať profil siete VPN"</string>
     <string name="vpn_menu_edit" msgid="408275284159243490">"Upraviť profil"</string>
     <string name="vpn_menu_delete" msgid="8098021690546891414">"Odstrániť profil"</string>
-    <!-- no translation found for vpn_menu_lockdown (7863024538064268139) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_summary (2200032066376720339) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_none (9214462857336483711) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_config_error (3898576754914217248) -->
-    <skip />
+    <string name="vpn_menu_lockdown" msgid="7863024538064268139">"Vždy zapnutá sieť VPN"</string>
+    <string name="vpn_lockdown_summary" msgid="2200032066376720339">"Vyberte profil siete VPN, ku ktorej chcete byť vždy pripojení. Prenos údajov bude povolený len pri pripojení k tejto sieti VPN."</string>
+    <string name="vpn_lockdown_none" msgid="9214462857336483711">"Žiadna"</string>
+    <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"Vždy zapnutá sieť VPN vyžaduje adresu IP pre server aj DNS."</string>
     <string name="vpn_no_network" msgid="3050233675132726155">"Nie je k dispozícii žiadne sieťové pripojenie. Skúste to znova neskôr."</string>
     <string name="vpn_missing_cert" msgid="7972907102570411501">"Chýba certifikát. Upravte profil."</string>
     <string name="trusted_credentials_system_tab" msgid="3984284264816924534">"Systém"</string>
@@ -1718,7 +1707,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Zakázané"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Mierne"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Prísne"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Používatelia a obmedzenia"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Používatelia"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Pridať používateľa"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Upraviť podrobnosti"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index c214d9a..59cbc22 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Iskanje …"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Preimenovanje naprave"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Enakovredne naprave"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Povezava ni mogoča."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Naprave ni bilo mogoče preimenovati."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Želite prekiniti povezavo?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Če prekinete povezavo, bo prekinjena povezava z napravo <xliff:g id="PEER_NAME">%1$s</xliff:g> in še toliko drugimi: <xliff:g id="PEER_COUNT">%2$s</xliff:g>."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Želite preklicati povabilo?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Ali želite preklicati povabilo za povezavo z napravo <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Prenosna brezžična dostopna točka"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Vklop dostopne točke  ..."</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Izklop dostopne točke ..."</string>
@@ -1019,8 +1013,7 @@
     <string name="external_data_size_label" product="nosdcard" msgid="7533821466482000453">"Podatki na pogonu USB"</string>
     <string name="external_data_size_label" product="default" msgid="626414192825329708">"Kartica SD"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Odstrani"</string>
-    <!-- no translation found for install_text (884360662922471113) -->
-    <skip />
+    <string name="install_text" msgid="884360662922471113">"Namesti"</string>
     <string name="disable_text" msgid="6544054052049395202">"Onemogoči"</string>
     <string name="enable_text" msgid="9217362512327828987">"Omogoči"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Počisti podatke"</string>
@@ -1689,14 +1682,10 @@
     <string name="vpn_create" msgid="5628219087569761496">"Dodajanje profila VPN"</string>
     <string name="vpn_menu_edit" msgid="408275284159243490">"Urejanje profila"</string>
     <string name="vpn_menu_delete" msgid="8098021690546891414">"Brisanja profila"</string>
-    <!-- no translation found for vpn_menu_lockdown (7863024538064268139) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_summary (2200032066376720339) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_none (9214462857336483711) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_config_error (3898576754914217248) -->
-    <skip />
+    <string name="vpn_menu_lockdown" msgid="7863024538064268139">"Stalno vklopljeno navidez. zaseb. omrež."</string>
+    <string name="vpn_lockdown_summary" msgid="2200032066376720339">"Izberite profil za navidezno zasebno omrežje, s katerim boste vedno povezani. Omrežni promet bo dovoljen samo prek tega navideznega zasebnega omrežja."</string>
+    <string name="vpn_lockdown_none" msgid="9214462857336483711">"Brez"</string>
+    <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"Za stalno vklopljeno navidezno zasebno omrežje je potreben naslov IP tako za strežnik kot za DNS."</string>
     <string name="vpn_no_network" msgid="3050233675132726155">"Ni omrežne povezave. Poskusite pozneje."</string>
     <string name="vpn_missing_cert" msgid="7972907102570411501">"Ni potrdila. Uredite profil."</string>
     <string name="trusted_credentials_system_tab" msgid="3984284264816924534">"Sistemska"</string>
@@ -1718,7 +1707,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Onemogočeno"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Dopuščajoče"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Uveljavljajoče"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Uporabniki in omejitve"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Uporabniki"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Dodaj uporabnika"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Urejanje podrobnosti"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index de8dba3..f4965b9 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Претраживање…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Преименуј уређај"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Равноправни уређаји"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Повезивање није могуће."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Преименовање уређаја није успело."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Желите ли да прекинете везу?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Ако прекинете везу, окончаћете везу са уређајем <xliff:g id="PEER_NAME">%1$s</xliff:g> и другим уређајима (<xliff:g id="PEER_COUNT">%2$s</xliff:g>)."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Желите ли да откажете позивницу?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Желите ли да откажете позивницу за повезивање са уређајем <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Преносна Wi-Fi приступна тачка"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Укључивање хотспота…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Искључивање хотспота..."</string>
@@ -1019,8 +1013,7 @@
     <string name="external_data_size_label" product="nosdcard" msgid="7533821466482000453">"Подаци о USB меморији"</string>
     <string name="external_data_size_label" product="default" msgid="626414192825329708">"SD картица"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Деинсталирај"</string>
-    <!-- no translation found for install_text (884360662922471113) -->
-    <skip />
+    <string name="install_text" msgid="884360662922471113">"Инсталирај"</string>
     <string name="disable_text" msgid="6544054052049395202">"Онемогући"</string>
     <string name="enable_text" msgid="9217362512327828987">"Омогући"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Обриши податке"</string>
@@ -1689,14 +1682,10 @@
     <string name="vpn_create" msgid="5628219087569761496">"Додавање VPN профила"</string>
     <string name="vpn_menu_edit" msgid="408275284159243490">"Измени профил"</string>
     <string name="vpn_menu_delete" msgid="8098021690546891414">"Избриши профил"</string>
-    <!-- no translation found for vpn_menu_lockdown (7863024538064268139) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_summary (2200032066376720339) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_none (9214462857336483711) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_config_error (3898576754914217248) -->
-    <skip />
+    <string name="vpn_menu_lockdown" msgid="7863024538064268139">"Стално укључени VPN"</string>
+    <string name="vpn_lockdown_summary" msgid="2200032066376720339">"Изаберите VPN профил са којим ћете увек бити повезани. Мрежни садржај ће бити дозвољен само када сте повезани са овим VPN-ом."</string>
+    <string name="vpn_lockdown_none" msgid="9214462857336483711">"Ниједан"</string>
+    <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"Стално укључени VPN захтева IP адресу за сервер и DNS."</string>
     <string name="vpn_no_network" msgid="3050233675132726155">"Није успостављена мрежна веза. Покушајте поново касније."</string>
     <string name="vpn_missing_cert" msgid="7972907102570411501">"Недостаје сертификат. Измените профил."</string>
     <string name="trusted_credentials_system_tab" msgid="3984284264816924534">"Систем"</string>
@@ -1718,7 +1707,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Онемогућено"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Омогућено"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Спровођење"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Корисници и ограничења"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Корисници"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Додај корисника"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Измена детаља"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index e533984..e11f096 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Söker …"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Byt namn på enheten"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Anslutna enheter"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Det gick inte att ansluta."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Det gick inte att byta namn på enheten."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Vill du koppla från?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Om du kopplar från avbryts din anslutning till <xliff:g id="PEER_NAME">%1$s</xliff:g> och <xliff:g id="PEER_COUNT">%2$s</xliff:g> andra enheter."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Avvisa inbjudan?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Vill du avvisa inbjudan att ansluta till <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Mobil Wi-Fi-surfpunkt"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Aktiverar trådlös surfzon ..."</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Trådlös surfzon inaktiveras ..."</string>
@@ -1718,7 +1712,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Inaktiverad"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Tillåtande"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Genomdrivande"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Användare &amp; begränsningar"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Användare"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Lägg till användare"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Redigera informationen"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 4aac1e7..fb8c7fc 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -592,8 +592,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Inatafuta…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Pea kifaa jina jipya"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Vifaa shiriki"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Haikuweza kuunganisha."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Imeshindwa kubadili jina la kifaa."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Tenganisha?"</string>
@@ -601,10 +599,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Ukitenganisha, muunganisho wako na <xliff:g id="PEER_NAME">%1$s</xliff:g> na vifaa vingine <xliff:g id="PEER_COUNT">%2$s</xliff:g> utakoma."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Ghairi mwaliko?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Je, unataka kughairi mwaliko wa kuungana na <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Ubebezi wa Mipangilo ya ubebezi wa eneo maalum la Wi-Fi"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Inawezesha mtandao-hewa…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Inalemaza mtandao-hewa…"</string>
@@ -1710,7 +1704,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Imelemazwa"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Ya kuruhusu"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Inatekeleza"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Watumiaji na vizuizi"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Watumiaji"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Ongeza mtumiaji"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Hariri maelezo"</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index f7d22e4..1147e2b 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"กำลังค้นหา…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"เปลี่ยนชื่ออุปกรณ์"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"อุปกรณ์สำหรับ Peer"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"ไม่สามารถเชื่อมต่อ"</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"ไม่สามารถเปลี่ยนชื่ออุปกรณ์"</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"ตัดการเชื่อมต่อหรือไม่"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"หากคุณตัดการเชื่อมต่อ จะเป็นการสิ้นสุดการเชื่อมต่อของคุณกับ <xliff:g id="PEER_NAME">%1$s</xliff:g> และอุปกรณ์อื่นอีก <xliff:g id="PEER_COUNT">%2$s</xliff:g> รายการ"</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"ยกเลิกข้อความเชิญหรือไม่"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"คุณต้องการยกเลิกข้อความเชิญเพื่อเชื่อมต่อกับ <xliff:g id="PEER_NAME">%1$s</xliff:g> หรือไม่"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Wi-Fi ฮอตสปอตแบบพกพา"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"กำลังเปิดฮอตสปอต…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"กำลังปิดฮอตสปอต…"</string>
@@ -1019,8 +1013,7 @@
     <string name="external_data_size_label" product="nosdcard" msgid="7533821466482000453">"ข้อมูลที่จัดเก็บใน USB"</string>
     <string name="external_data_size_label" product="default" msgid="626414192825329708">"การ์ด SD"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"ถอนการติดตั้ง"</string>
-    <!-- no translation found for install_text (884360662922471113) -->
-    <skip />
+    <string name="install_text" msgid="884360662922471113">"ติดตั้ง"</string>
     <string name="disable_text" msgid="6544054052049395202">"ปิดใช้งาน"</string>
     <string name="enable_text" msgid="9217362512327828987">"เปิดใช้งาน"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"ล้างข้อมูล"</string>
@@ -1689,14 +1682,10 @@
     <string name="vpn_create" msgid="5628219087569761496">"เพิ่มโปรไฟล์ VPN"</string>
     <string name="vpn_menu_edit" msgid="408275284159243490">"แก้ไขโปรไฟล์"</string>
     <string name="vpn_menu_delete" msgid="8098021690546891414">"ลบโปรไฟล์"</string>
-    <!-- no translation found for vpn_menu_lockdown (7863024538064268139) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_summary (2200032066376720339) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_none (9214462857336483711) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_config_error (3898576754914217248) -->
-    <skip />
+    <string name="vpn_menu_lockdown" msgid="7863024538064268139">"VPN แบบเปิดตลอดเวลา"</string>
+    <string name="vpn_lockdown_summary" msgid="2200032066376720339">"เลือกโปรไฟล์ VPN เพื่อคงการเชื่อมต่อเอาไว้ตลอดเวลา การจราจรบนเครือข่ายจะได้รับอนุญาตเฉพาะเมื่อมีการเชื่อมต่อกับ VPN นี้เท่านั้น"</string>
+    <string name="vpn_lockdown_none" msgid="9214462857336483711">"ไม่มี"</string>
+    <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"VPN แบบเปิดตลอดเวลาจำเป็นต้องใช้ที่อยู่ IP ทั้งสำหรับเซิร์ฟเวอร์และ DNS"</string>
     <string name="vpn_no_network" msgid="3050233675132726155">"ไม่มีการเชื่อมต่อเครือข่าย โปรดลองอีกครั้งในภายหลัง"</string>
     <string name="vpn_missing_cert" msgid="7972907102570411501">"ไม่มีใบรับรอง โปรดแก้ไขโปรไฟล์"</string>
     <string name="trusted_credentials_system_tab" msgid="3984284264816924534">"ระบบ"</string>
@@ -1718,7 +1707,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"ปิดใช้งานแล้ว"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"อนุญาต"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"บังคับใช้งาน"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"ผู้ใช้และข้อจำกัด"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"ผู้ใช้"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"เพิ่มผู้ใช้"</string>
     <string name="user_details_title" msgid="3037625632127241370">"แก้ไขรายละเอียด"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index c0d6b1d..df7f572 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Naghahanap…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Palitan ang pangalan ng device"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Mga device ng kaibigan"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Hindi makakonekta."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Nabigong palitan ang pangalan ng device."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Idiskonekta?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Kung magdiskonekta ka, magtatapos ang iyong koneksyon kay <xliff:g id="PEER_NAME">%1$s</xliff:g> at <xliff:g id="PEER_COUNT">%2$s</xliff:g> (na) iba pang mga device."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Kanselahin ang imbitasyon?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Nais mo bang kanselahin ang imbitasyong kumonekta kay <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Portable na Wi-Fi hotspot"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Pag-on sa hotspot…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Pag-off sa hotspot…"</string>
@@ -1019,8 +1013,7 @@
     <string name="external_data_size_label" product="nosdcard" msgid="7533821466482000453">"Data ng USB storage"</string>
     <string name="external_data_size_label" product="default" msgid="626414192825329708">"SD card"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"I-uninstall"</string>
-    <!-- no translation found for install_text (884360662922471113) -->
-    <skip />
+    <string name="install_text" msgid="884360662922471113">"I-install"</string>
     <string name="disable_text" msgid="6544054052049395202">"Huwag Paganahin"</string>
     <string name="enable_text" msgid="9217362512327828987">"Paganahin"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"I-clear ang data"</string>
@@ -1689,14 +1682,10 @@
     <string name="vpn_create" msgid="5628219087569761496">"Idagdag ang profile sa VPN"</string>
     <string name="vpn_menu_edit" msgid="408275284159243490">"I-edit ang profile"</string>
     <string name="vpn_menu_delete" msgid="8098021690546891414">"Tanggalin ang profile"</string>
-    <!-- no translation found for vpn_menu_lockdown (7863024538064268139) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_summary (2200032066376720339) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_none (9214462857336483711) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_config_error (3898576754914217248) -->
-    <skip />
+    <string name="vpn_menu_lockdown" msgid="7863024538064268139">"Always-on VPN"</string>
+    <string name="vpn_lockdown_summary" msgid="2200032066376720339">"Pumili ng VPN profile kung saan palaging mananatiling nakakonekta. Papayagan lang ang trapiko ng network kapag nakakonekta sa VPN na ito."</string>
+    <string name="vpn_lockdown_none" msgid="9214462857336483711">"Wala"</string>
+    <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"Nangangailangan ang Always-on VPN ng IP address para sa parehong server at DNS."</string>
     <string name="vpn_no_network" msgid="3050233675132726155">"Walang koneksyon sa network. Pakisubukang muli sa ibang pagkakataon."</string>
     <string name="vpn_missing_cert" msgid="7972907102570411501">"May nawawalang certificate. Paki-edit ang profile."</string>
     <string name="trusted_credentials_system_tab" msgid="3984284264816924534">"System"</string>
@@ -1718,7 +1707,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Hindi pinagana"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Nagpapahintulot"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Nagpapatupad"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Mga user at paghihigpit"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Mga User"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Idagdag ang user"</string>
     <string name="user_details_title" msgid="3037625632127241370">"I-edit ang mga detalye"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 88d6c2b..4237c81 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Aranıyor…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Cihazı yeniden adlandır"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Cihazları eşle"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Bağlantı kurulamadı."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Cihaz yeniden adlandırılamadı."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Bağlantı kesilsin mi?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Bağlantıyı keserseniz,  <xliff:g id="PEER_NAME">%1$s</xliff:g> ve diğer <xliff:g id="PEER_COUNT">%2$s</xliff:g> cihazla bağlantınız sonlandırılır."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Davetiye iptal edilsin mi?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"<xliff:g id="PEER_NAME">%1$s</xliff:g> cihazına bağlanma davetiyesini iptal etmek istiyor musunuz?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Taşınabilir kablosuz ortak erişim noktası"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Hotspot açılıyor…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Hotspot kapatılıyor…"</string>
@@ -1718,7 +1712,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Disabled (Devre dışı)"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Permissive (Serbest)"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Enforcing (Zorunlu)"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Kullanıcılar ve kısıtlamalar"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Kullanıcılar"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Kullanıcı ekle"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Ayrıntıları düzenle"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 0054dfc..226e325 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Пошук…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Перейменувати пристрій"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Однорангові пристрої"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Неможливо з\'єднатися."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Не вдалося перейменувати пристрій."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Від’єднатися?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Якщо від’єднатися, це призведе до роз’єднання з пристроєм <xliff:g id="PEER_NAME">%1$s</xliff:g> і ще з <xliff:g id="PEER_COUNT">%2$s</xliff:g>."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Скасувати запрошення?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Скасувати запрошення під’єднатися до пристрою <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Портат. точка дост. Wi-Fi"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Увімкнення точки доступу…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Вимкнення точки доступу…"</string>
@@ -1019,8 +1013,7 @@
     <string name="external_data_size_label" product="nosdcard" msgid="7533821466482000453">"Дані на носії USB"</string>
     <string name="external_data_size_label" product="default" msgid="626414192825329708">"Карта SD"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Видалити"</string>
-    <!-- no translation found for install_text (884360662922471113) -->
-    <skip />
+    <string name="install_text" msgid="884360662922471113">"Установити"</string>
     <string name="disable_text" msgid="6544054052049395202">"Вимкнути"</string>
     <string name="enable_text" msgid="9217362512327828987">"Увімкнути"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Очистити дані"</string>
@@ -1689,14 +1682,10 @@
     <string name="vpn_create" msgid="5628219087569761496">"Додати профіль VPN"</string>
     <string name="vpn_menu_edit" msgid="408275284159243490">"Редагувати профіль"</string>
     <string name="vpn_menu_delete" msgid="8098021690546891414">"Видалити профіль"</string>
-    <!-- no translation found for vpn_menu_lockdown (7863024538064268139) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_summary (2200032066376720339) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_none (9214462857336483711) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_config_error (3898576754914217248) -->
-    <skip />
+    <string name="vpn_menu_lockdown" msgid="7863024538064268139">"Постійна мережа VPN"</string>
+    <string name="vpn_lockdown_summary" msgid="2200032066376720339">"Виберіть профіль мережі VPN, під’єднання до якої має завжди бути постійним. Мережевий трафік дозволятиметься лише за умови під’єднання до цієї VPN."</string>
+    <string name="vpn_lockdown_none" msgid="9214462857336483711">"Жодної"</string>
+    <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"Для постійної мережі VPN потрібна IP-адреса як для сервера, так і для DNS."</string>
     <string name="vpn_no_network" msgid="3050233675132726155">"Немає з’єднання з мережею. Повторіть спробу пізніше."</string>
     <string name="vpn_missing_cert" msgid="7972907102570411501">"Сертифікат відсутній. Відредагуйте профіль."</string>
     <string name="trusted_credentials_system_tab" msgid="3984284264816924534">"Система"</string>
@@ -1718,7 +1707,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Вимкнено"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Дозволено"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Застосовано"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Користувачі й обмеження"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Користувачі"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Додати користувача"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Редагувати дані"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 61f758b..6ea776c 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Đang tìm kiếm…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Đổi tên thiết bị"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Thiết bị ngang hàng"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Không thể kết nối."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Không thể đổi tên thiết bị."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Ngắt kết nối?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Nếu bạn ngắt kết nối, kết nối của bạn với <xliff:g id="PEER_NAME">%1$s</xliff:g> và <xliff:g id="PEER_COUNT">%2$s</xliff:g> thiết bị khác sẽ kết thúc."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Hủy lời mời?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Bạn có muốn hủy lời mời kết nối với <xliff:g id="PEER_NAME">%1$s</xliff:g> không?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Điểm phát sóng Wi-Fi di động"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Đang bật điểm phát sóng…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Đang tắt điểm phát sóng…"</string>
@@ -1019,8 +1013,7 @@
     <string name="external_data_size_label" product="nosdcard" msgid="7533821466482000453">"Dữ liệu bộ lưu trữ USB"</string>
     <string name="external_data_size_label" product="default" msgid="626414192825329708">"Thẻ SD"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Gỡ cài đặt"</string>
-    <!-- no translation found for install_text (884360662922471113) -->
-    <skip />
+    <string name="install_text" msgid="884360662922471113">"Cài đặt"</string>
     <string name="disable_text" msgid="6544054052049395202">"Tắt"</string>
     <string name="enable_text" msgid="9217362512327828987">"Bật"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Xóa dữ liệu"</string>
@@ -1689,14 +1682,10 @@
     <string name="vpn_create" msgid="5628219087569761496">"Thêm cấu hình VPN"</string>
     <string name="vpn_menu_edit" msgid="408275284159243490">"Chỉnh sửa cấu hình"</string>
     <string name="vpn_menu_delete" msgid="8098021690546891414">"Xóa cấu hình"</string>
-    <!-- no translation found for vpn_menu_lockdown (7863024538064268139) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_summary (2200032066376720339) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_none (9214462857336483711) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_config_error (3898576754914217248) -->
-    <skip />
+    <string name="vpn_menu_lockdown" msgid="7863024538064268139">"VPN luôn bật"</string>
+    <string name="vpn_lockdown_summary" msgid="2200032066376720339">"Chọn một cấu hình VPN để luôn giữ kết nối. Lưu lượng truy cập mạng sẽ chỉ được cho phép khi kết nối với VPN này."</string>
+    <string name="vpn_lockdown_none" msgid="9214462857336483711">"Không có"</string>
+    <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"VPN luôn bật yêu cầu có địa chỉ IP cho cả máy chủ và DNS."</string>
     <string name="vpn_no_network" msgid="3050233675132726155">"Không có kết nối mạng. Vui lòng thử lại sau."</string>
     <string name="vpn_missing_cert" msgid="7972907102570411501">"Thiếu chứng chỉ. Vui lòng chỉnh sửa tiểu sử."</string>
     <string name="trusted_credentials_system_tab" msgid="3984284264816924534">"Hệ thống"</string>
@@ -1718,7 +1707,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Đã tắt"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Cho phép"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Thực thi"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Người dùng và giới hạn"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Người dùng"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Thêm người dùng"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Chỉnh sửa chi tiết"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 70615bd..469cdeb 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"正在搜索…"</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"重命名设备"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"对等设备"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"无法连接。"</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"无法重命名设备。"</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"断开连接？"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"如果断开连接，您与<xliff:g id="PEER_NAME">%1$s</xliff:g>和另外 <xliff:g id="PEER_COUNT">%2$s</xliff:g> 台设备的连接将中断。"</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"取消邀请？"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"要取消连接<xliff:g id="PEER_NAME">%1$s</xliff:g>的邀请吗？"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"便携式 Wi-Fi 热点"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"正在打开热点..."</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"正在关闭热点..."</string>
@@ -1019,8 +1013,7 @@
     <string name="external_data_size_label" product="nosdcard" msgid="7533821466482000453">"USB 存储（数据）"</string>
     <string name="external_data_size_label" product="default" msgid="626414192825329708">"SD 卡"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"卸载"</string>
-    <!-- no translation found for install_text (884360662922471113) -->
-    <skip />
+    <string name="install_text" msgid="884360662922471113">"安装"</string>
     <string name="disable_text" msgid="6544054052049395202">"停用"</string>
     <string name="enable_text" msgid="9217362512327828987">"启用"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"清除数据"</string>
@@ -1689,14 +1682,10 @@
     <string name="vpn_create" msgid="5628219087569761496">"添加 VPN 配置文件"</string>
     <string name="vpn_menu_edit" msgid="408275284159243490">"修改配置文件"</string>
     <string name="vpn_menu_delete" msgid="8098021690546891414">"删除配置文件"</string>
-    <!-- no translation found for vpn_menu_lockdown (7863024538064268139) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_summary (2200032066376720339) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_none (9214462857336483711) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_config_error (3898576754914217248) -->
-    <skip />
+    <string name="vpn_menu_lockdown" msgid="7863024538064268139">"始终处于打开状态的 VPN"</string>
+    <string name="vpn_lockdown_summary" msgid="2200032066376720339">"选择要始终保持连接的 VPN 配置文件。只有在连接到此 VPN 之后才可以使用网络流量。"</string>
+    <string name="vpn_lockdown_none" msgid="9214462857336483711">"无"</string>
+    <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"始终处于打开状态的 VPN 需要服务器和 DNS 的 IP 地址。"</string>
     <string name="vpn_no_network" msgid="3050233675132726155">"目前没有网络连接。请稍后重试。"</string>
     <string name="vpn_missing_cert" msgid="7972907102570411501">"证书缺失。请修改配置文件。"</string>
     <string name="trusted_credentials_system_tab" msgid="3984284264816924534">"系统"</string>
@@ -1718,7 +1707,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"已停用"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"许可"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"执行中"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"用户和限制"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"用户"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"添加用户"</string>
     <string name="user_details_title" msgid="3037625632127241370">"修改详细信息"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 67d7d96..13a1623 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -111,7 +111,7 @@
     <string name="bluetooth_visibility_timeout" msgid="8002247464357005429">"偵測時限設定"</string>
     <string name="bluetooth_visibility_timeout_summary" msgid="6483353842671501585">"設定裝置可供偵測的開放時間"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="3139322992062086225">"鎖定語音撥號"</string>
-    <string name="bluetooth_lock_voice_dialing_summary" msgid="4741338867496787042">"螢幕鎖定時不要使用藍芽撥號"</string>
+    <string name="bluetooth_lock_voice_dialing_summary" msgid="4741338867496787042">"螢幕鎖定時不要使用藍牙撥號"</string>
     <string name="bluetooth_devices" msgid="1886018064039454227">"藍牙裝置"</string>
     <string name="bluetooth_device_name" msgid="8415828355207423800">"裝置名稱"</string>
     <string name="bluetooth_device_details" msgid="4594773497930028085">"裝置設定"</string>
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"搜尋中..."</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"重新命名裝置"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"對端裝置"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"無法連線。"</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"無法重新命名裝置。"</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"中斷連線？"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"如果您中斷連線，即會結束您與「<xliff:g id="PEER_NAME">%1$s</xliff:g>」和其他 <xliff:g id="PEER_COUNT">%2$s</xliff:g> 個裝置的連線。"</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"取消邀請？"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"您要取消 <xliff:g id="PEER_NAME">%1$s</xliff:g> 的連線邀請？"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"可攜式 Wi-Fi 無線基地台"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"正在開啟無線基地台…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"正在關閉無線基地台…"</string>
@@ -1019,8 +1013,7 @@
     <string name="external_data_size_label" product="nosdcard" msgid="7533821466482000453">"USB 儲存裝置資料"</string>
     <string name="external_data_size_label" product="default" msgid="626414192825329708">"SD 卡"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"解除安裝"</string>
-    <!-- no translation found for install_text (884360662922471113) -->
-    <skip />
+    <string name="install_text" msgid="884360662922471113">"安裝"</string>
     <string name="disable_text" msgid="6544054052049395202">"停用"</string>
     <string name="enable_text" msgid="9217362512327828987">"啟用"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"清除資料"</string>
@@ -1689,14 +1682,10 @@
     <string name="vpn_create" msgid="5628219087569761496">"新增 VPN 設定檔"</string>
     <string name="vpn_menu_edit" msgid="408275284159243490">"編輯設定檔"</string>
     <string name="vpn_menu_delete" msgid="8098021690546891414">"刪除設定檔"</string>
-    <!-- no translation found for vpn_menu_lockdown (7863024538064268139) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_summary (2200032066376720339) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_none (9214462857336483711) -->
-    <skip />
-    <!-- no translation found for vpn_lockdown_config_error (3898576754914217248) -->
-    <skip />
+    <string name="vpn_menu_lockdown" msgid="7863024538064268139">"永久連線的 VPN"</string>
+    <string name="vpn_lockdown_summary" msgid="2200032066376720339">"選取要永久連線的 VPN 設定檔。只在連線至這個 VPN 時才允許網路流量。"</string>
+    <string name="vpn_lockdown_none" msgid="9214462857336483711">"無"</string>
+    <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"永久連線的 VPN 需要同時具備伺服器和 DNS 的 IP 位址。"</string>
     <string name="vpn_no_network" msgid="3050233675132726155">"沒有網路連線，請稍後再試。"</string>
     <string name="vpn_missing_cert" msgid="7972907102570411501">"找不到憑證，請編輯設定檔。"</string>
     <string name="trusted_credentials_system_tab" msgid="3984284264816924534">"系統"</string>
@@ -1718,7 +1707,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"已停用"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"許可"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"執行中"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"使用者與限制"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"使用者"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"新增使用者"</string>
     <string name="user_details_title" msgid="3037625632127241370">"編輯詳細資訊"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index e18cc50..2298c01 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -600,8 +600,6 @@
     <string name="wifi_p2p_menu_searching" msgid="2396704492143633876">"Iyasesha..."</string>
     <string name="wifi_p2p_menu_rename" msgid="8448896306960060415">"Qamba kabusha idivayisi"</string>
     <string name="wifi_p2p_peer_devices" msgid="299526878463303432">"Hlanganisa amadivayisi"</string>
-    <!-- no translation found for wifi_p2p_remembered_groups (3847022927914068230) -->
-    <skip />
     <string name="wifi_p2p_failed_connect_message" msgid="8921447388048243547">"Ayikwazanga ukuxhuma."</string>
     <string name="wifi_p2p_failed_rename_message" msgid="2562182284946936380">"Yehlulekile ukuqamba kabusha idivayisi."</string>
     <string name="wifi_p2p_disconnect_title" msgid="3216846049677448420">"Nqamula?"</string>
@@ -609,10 +607,6 @@
     <string name="wifi_p2p_disconnect_multiple_message" msgid="3283805371034883105">"Uma unqamula, ukuxhumana kwakho ne-<xliff:g id="PEER_NAME">%1$s</xliff:g> kanye namanye amadivayisi angu-<xliff:g id="PEER_COUNT">%2$s</xliff:g> kuzophela."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="255267538099324413">"Khansela isimemo?"</string>
     <string name="wifi_p2p_cancel_connect_message" msgid="7477756213423749402">"Ingabe ufuna ukukhansela isimemo ukuze uxhume ne-<xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
-    <!-- no translation found for wifi_p2p_delete_group_title (8049872630241986374) -->
-    <skip />
-    <!-- no translation found for wifi_p2p_delete_group_message (5521624017163200215) -->
-    <skip />
     <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Indawo ephathekayo ye-Wi-Fi"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"Ikhanyisa indawo ekudonseka kuyo…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"Icima ndawo ekudonseka kuyo…"</string>
@@ -1725,7 +1719,8 @@
     <string name="selinux_status_disabled" msgid="924551035552323327">"Kukhutshaziwe"</string>
     <string name="selinux_status_permissive" msgid="6004965534713398778">"Kunemvume"</string>
     <string name="selinux_status_enforcing" msgid="2252703756208463329">"Ukuphoqelela"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Umthetho &amp; wokuthibela wabasebenzisi"</string>
+    <!-- no translation found for user_settings_title (6151874007858148344) -->
+    <skip />
     <string name="user_list_title" msgid="2152311434413878709">"Abasebenzisi"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Engeza umsebenzisi"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Hlela imininingwane"</string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 8895de2..f1b4a5e 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1863,6 +1863,8 @@
     <string name="sd_memory" product="default">SD card</string>
     <!-- SD card & phone storage settings title. The amount of free space for some storage partition.  For example, this is listed under both the "Internal phone storage" section and the "SD card" section. -->
     <string name="memory_available">Available</string>
+    <!-- SD card & phone storage settings title. The amount of free space for some storage partition when the volume is read-only. [CHAR LIMIT=64] -->
+    <string name="memory_available_read_only">Available (read-only)</string>
     <!-- SD card & phone storage settings screen heading.  The total amount of storage space for some storage partition.  For example, this is listed under both the "Internal phone storage" section and the "SD card" section -->
     <string name="memory_size">Total space</string>
     <!-- SD card & phone storage settings summary. Displayed when the total memory usage is being calculated. Will be replaced with a number like "12.3 GB" when finished calucating. [CHAR LIMIT=30] -->
@@ -1916,7 +1918,6 @@
     <!-- SD card & phone storage settings item summary that will result in the phone connected to PC and MTP/PTP enabled.   [CHAR LIMIT=80] -->
     <string name="mtp_ptp_mode_summary">MTP or PTP function is active</string>
 
-    <string name="read_only">\u0020(Read-only)</string>
     <!-- SD card eject confirmation dialog title   [CHAR LIMIT=25] -->
     <string name="dlg_confirm_unmount_title" product="nosdcard">Unmount USB storage?</string>
     <!-- SD card eject confirmation dialog title   -->
@@ -3234,6 +3235,9 @@
     <!-- Suggestion for getting apps to consume less power -->
     <string name="battery_sugg_apps_settings">The app may offer settings to reduce battery use</string>
 
+    <!-- [CHAR LIMIT=50] Description for power consumed by users -->
+    <string name="battery_desc_users">Battery used by user</string>
+
     <!-- Menu label for viewing battery usage since unplugged -->
     <string name="menu_stats_unplugged"><xliff:g id="unplugged">%1$s</xliff:g> since unplugged</string>
     <!-- Menu label for viewing battery usage since unplugged -->
diff --git a/src/com/android/settings/DateTimeSettings.java b/src/com/android/settings/DateTimeSettings.java
index 30d4f0a..53f25a2 100644
--- a/src/com/android/settings/DateTimeSettings.java
+++ b/src/com/android/settings/DateTimeSettings.java
@@ -81,8 +81,8 @@
     }
 
     private void initUI() {
-        boolean autoTimeEnabled = getAutoState(Settings.System.AUTO_TIME);
-        boolean autoTimeZoneEnabled = getAutoState(Settings.System.AUTO_TIME_ZONE);
+        boolean autoTimeEnabled = getAutoState(Settings.Global.AUTO_TIME);
+        boolean autoTimeZoneEnabled = getAutoState(Settings.Global.AUTO_TIME_ZONE);
 
         Intent intent = getActivity().getIntent();
         boolean isFirstRun = intent.getBooleanExtra(EXTRA_IS_FIRST_RUN, false);
@@ -214,14 +214,14 @@
             updateTimeAndDateDisplay(getActivity());
         } else if (key.equals(KEY_AUTO_TIME)) {
             boolean autoEnabled = preferences.getBoolean(key, true);
-            Settings.System.putInt(getContentResolver(), Settings.System.AUTO_TIME,
+            Settings.Global.putInt(getContentResolver(), Settings.Global.AUTO_TIME,
                     autoEnabled ? 1 : 0);
             mTimePref.setEnabled(!autoEnabled);
             mDatePref.setEnabled(!autoEnabled);
         } else if (key.equals(KEY_AUTO_TIME_ZONE)) {
             boolean autoZoneEnabled = preferences.getBoolean(key, true);
-            Settings.System.putInt(
-                    getContentResolver(), Settings.System.AUTO_TIME_ZONE, autoZoneEnabled ? 1 : 0);
+            Settings.Global.putInt(
+                    getContentResolver(), Settings.Global.AUTO_TIME_ZONE, autoZoneEnabled ? 1 : 0);
             mTimeZone.setEnabled(!autoZoneEnabled);
         }
     }
@@ -331,7 +331,7 @@
 
     private boolean getAutoState(String name) {
         try {
-            return Settings.System.getInt(getContentResolver(), name) > 0;
+            return Settings.Global.getInt(getContentResolver(), name) > 0;
         } catch (SettingNotFoundException snfe) {
             return false;
         }
diff --git a/src/com/android/settings/DateTimeSettingsSetupWizard.java b/src/com/android/settings/DateTimeSettingsSetupWizard.java
index 977d6c6..87b1cae 100644
--- a/src/com/android/settings/DateTimeSettingsSetupWizard.java
+++ b/src/com/android/settings/DateTimeSettingsSetupWizard.java
@@ -185,7 +185,7 @@
                 }
             }
             if (mAutoDateTimeButton != null) {
-                Settings.System.putInt(getContentResolver(), Settings.System.AUTO_TIME,
+                Settings.Global.putInt(getContentResolver(), Settings.Global.AUTO_TIME,
                       mAutoDateTimeButton.isChecked() ? 1 : 0);
                 if (!mAutoDateTimeButton.isChecked()) {
                     DateTimeSettings.setDate(mDatePicker.getYear(), mDatePicker.getMonth(),
@@ -209,8 +209,8 @@
         /*if (buttonView == mAutoTimeZoneButton) {
             // In XL screen, we save all the state only when the next button is pressed.
             if (!mUsingXLargeLayout) {
-                Settings.System.putInt(getContentResolver(),
-                        Settings.System.AUTO_TIME_ZONE,
+                Settings.Global.putInt(getContentResolver(),
+                        Settings.Global.AUTO_TIME_ZONE,
                         isChecked ? 1 : 0);
             }
             mTimeZone.setEnabled(!autoEnabled);
@@ -220,8 +220,8 @@
             }
         } else */
         if (buttonView == mAutoDateTimeButton) {
-            Settings.System.putInt(getContentResolver(),
-                    Settings.System.AUTO_TIME,
+            Settings.Global.putInt(getContentResolver(),
+                    Settings.Global.AUTO_TIME,
                     isChecked ? 1 : 0);
             mTimePicker.setEnabled(!autoEnabled);
             mDatePicker.setEnabled(!autoEnabled);
@@ -296,7 +296,7 @@
 
     private boolean isAutoDateTimeEnabled() {
         try {
-            return Settings.System.getInt(getContentResolver(), Settings.System.AUTO_TIME) > 0;
+            return Settings.Global.getInt(getContentResolver(), Settings.Global.AUTO_TIME) > 0;
         } catch (SettingNotFoundException e) {
             return true;
         }
@@ -305,8 +305,8 @@
     /*
     private boolean isAutoTimeZoneEnabled() {
         try {
-            return Settings.System.getInt(getContentResolver(),
-                    Settings.System.AUTO_TIME_ZONE) > 0;
+            return Settings.Global.getInt(getContentResolver(),
+                    Settings.Global.AUTO_TIME_ZONE) > 0;
         } catch (SettingNotFoundException e) {
             return true;
         }
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index 6f2002a..88b3e87 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -105,6 +105,7 @@
             R.id.display_settings,
             R.id.storage_settings,
             R.id.application_settings,
+            R.id.battery_settings,
             R.id.personal_section,
             R.id.security_settings,
             R.id.user_settings,
diff --git a/src/com/android/settings/TetherSettings.java b/src/com/android/settings/TetherSettings.java
index f6c1734..1564803 100644
--- a/src/com/android/settings/TetherSettings.java
+++ b/src/com/android/settings/TetherSettings.java
@@ -48,6 +48,7 @@
 
 import java.io.InputStream;
 import java.util.ArrayList;
+import java.util.concurrent.atomic.AtomicReference;
 import java.util.Locale;
 
 /*
@@ -78,7 +79,7 @@
     private String[] mWifiRegexs;
 
     private String[] mBluetoothRegexs;
-    private BluetoothPan mBluetoothPan;
+    private AtomicReference<BluetoothPan> mBluetoothPan;
 
     private static final String WIFI_AP_SSID_AND_SECURITY = "wifi_ap_ssid_and_security";
     private static final int CONFIG_SUBTEXT = R.string.wifi_tether_configure_subtext;
@@ -151,7 +152,8 @@
         if (!bluetoothAvailable) {
             getPreferenceScreen().removePreference(mBluetoothTether);
         } else {
-            if (mBluetoothPan != null && mBluetoothPan.isTetheringOn()) {
+            BluetoothPan pan = mBluetoothPan.get();
+            if (pan != null && pan.isTetheringOn()) {
                 mBluetoothTether.setChecked(true);
             } else {
                 mBluetoothTether.setChecked(false);
@@ -188,10 +190,10 @@
     private BluetoothProfile.ServiceListener mProfileServiceListener =
         new BluetoothProfile.ServiceListener() {
         public void onServiceConnected(int profile, BluetoothProfile proxy) {
-            mBluetoothPan = (BluetoothPan) proxy;
+            mBluetoothPan.set((BluetoothPan) proxy);
         }
         public void onServiceDisconnected(int profile) {
-            mBluetoothPan = null;
+            mBluetoothPan.set(null);
         }
     };
 
@@ -235,8 +237,9 @@
                     switch (intent
                             .getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.ERROR)) {
                         case BluetoothAdapter.STATE_ON:
-                            if(mBluetoothPan != null) {
-                                mBluetoothPan.setBluetoothTethering(true);
+                            BluetoothPan bluetoothPan = mBluetoothPan.get();
+                            if (bluetoothPan != null) {
+                                bluetoothPan.setBluetoothTethering(true);
                                 mBluetoothEnableForTether = false;
                             }
                             break;
@@ -389,26 +392,31 @@
         } else if (btState == BluetoothAdapter.STATE_TURNING_ON) {
             mBluetoothTether.setEnabled(false);
             mBluetoothTether.setSummary(R.string.bluetooth_turning_on);
-        } else if (btState == BluetoothAdapter.STATE_ON &&
-                    mBluetoothPan != null && mBluetoothPan.isTetheringOn()) {
-            mBluetoothTether.setChecked(true);
-            mBluetoothTether.setEnabled(true);
-            int bluetoothTethered = mBluetoothPan.getConnectedDevices().size();
-            if (bluetoothTethered > 1) {
-                String summary = getString(
-                        R.string.bluetooth_tethering_devices_connected_subtext, bluetoothTethered);
-                mBluetoothTether.setSummary(summary);
-            } else if (bluetoothTethered == 1) {
-                mBluetoothTether.setSummary(R.string.bluetooth_tethering_device_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);
-            mBluetoothTether.setSummary(R.string.bluetooth_tethering_off_subtext);
+            BluetoothPan bluetoothPan = mBluetoothPan.get();
+            if (btState == BluetoothAdapter.STATE_ON && bluetoothPan != null &&
+                    bluetoothPan.isTetheringOn()) {
+                mBluetoothTether.setChecked(true);
+                mBluetoothTether.setEnabled(true);
+                int bluetoothTethered = bluetoothPan.getConnectedDevices().size();
+                if (bluetoothTethered > 1) {
+                    String summary = getString(
+                            R.string.bluetooth_tethering_devices_connected_subtext,
+                            bluetoothTethered);
+                    mBluetoothTether.setSummary(summary);
+                } else if (bluetoothTethered == 1) {
+                    mBluetoothTether.setSummary(
+                            R.string.bluetooth_tethering_device_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);
+                mBluetoothTether.setSummary(R.string.bluetooth_tethering_off_subtext);
+            }
         }
     }
 
@@ -476,7 +484,8 @@
                     mBluetoothTether.setSummary(R.string.bluetooth_turning_on);
                     mBluetoothTether.setEnabled(false);
                 } else {
-                    mBluetoothPan.setBluetoothTethering(true);
+                    BluetoothPan bluetoothPan = mBluetoothPan.get();
+                    if (bluetoothPan != null) bluetoothPan.setBluetoothTethering(true);
                     mBluetoothTether.setSummary(R.string.bluetooth_tethering_available_subtext);
                 }
                 break;
@@ -528,7 +537,8 @@
                     errored = true;
                 }
 
-                mBluetoothPan.setBluetoothTethering(false);
+                BluetoothPan bluetoothPan = mBluetoothPan.get();
+                if (bluetoothPan != null) bluetoothPan.setBluetoothTethering(false);
                 if (errored) {
                     mBluetoothTether.setSummary(R.string.bluetooth_tethering_errored_subtext);
                 } else {
diff --git a/src/com/android/settings/bluetooth/LocalBluetoothPreferences.java b/src/com/android/settings/bluetooth/LocalBluetoothPreferences.java
index 36bc7c8..6f4a765 100644
--- a/src/com/android/settings/bluetooth/LocalBluetoothPreferences.java
+++ b/src/com/android/settings/bluetooth/LocalBluetoothPreferences.java
@@ -64,17 +64,17 @@
             return false;
         }
 
+        // If Bluetooth Settings is visible
+        if (manager.isForegroundActivity()) {
+            return true;
+        }
+
         // If in appliance mode, do not show dialog in foreground.
         if ((context.getResources().getConfiguration().uiMode &
                 Configuration.UI_MODE_TYPE_APPLIANCE) == Configuration.UI_MODE_TYPE_APPLIANCE) {
             return false;
         }
 
-        // If Bluetooth Settings is visible
-        if (manager.isForegroundActivity()) {
-            return true;
-        }
-
         long currentTimeMillis = System.currentTimeMillis();
         SharedPreferences sharedPreferences = getSharedPreferences(context);
 
diff --git a/src/com/android/settings/deviceinfo/Memory.java b/src/com/android/settings/deviceinfo/Memory.java
index 794c478..057f329 100644
--- a/src/com/android/settings/deviceinfo/Memory.java
+++ b/src/com/android/settings/deviceinfo/Memory.java
@@ -66,9 +66,9 @@
     private static String sClickedMountPoint;
 
     // Access using getMountService()
-    private IMountService mMountService = null;
-    private StorageManager mStorageManager = null;
-    private UsbManager mUsbManager = null;
+    private IMountService mMountService;
+    private StorageManager mStorageManager;
+    private UsbManager mUsbManager;
 
     private ArrayList<StorageVolumePreferenceCategory> mCategories = Lists.newArrayList();
 
@@ -76,41 +76,38 @@
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
 
-        mUsbManager = (UsbManager)getSystemService(Context.USB_SERVICE);
+        final Context context = getActivity();
 
-        if (mStorageManager == null) {
-            mStorageManager = (StorageManager) getSystemService(Context.STORAGE_SERVICE);
-            mStorageManager.registerListener(mStorageListener);
-        }
+        mUsbManager = (UsbManager) getSystemService(Context.USB_SERVICE);
+
+        mStorageManager = StorageManager.from(context);
+        mStorageManager.registerListener(mStorageListener);
 
         addPreferencesFromResource(R.xml.device_info_memory);
 
-        if (!Environment.isExternalStorageEmulated()) {
-            // External storage is separate from internal storage; need to
-            // show internal storage as a separate item.
-            addCategoryForVolume(null);
-        }
+        addCategory(StorageVolumePreferenceCategory.buildForInternal(context));
 
         final StorageVolume[] storageVolumes = mStorageManager.getVolumeList();
         for (StorageVolume volume : storageVolumes) {
-            addCategoryForVolume(volume);
+            if (!volume.isEmulated()) {
+                addCategory(StorageVolumePreferenceCategory.buildForPhysical(context, volume));
+            }
         }
 
         setHasOptionsMenu(true);
     }
 
-    private void addCategoryForVolume(StorageVolume volume) {
-        final StorageVolumePreferenceCategory category = new StorageVolumePreferenceCategory(
-                getActivity(), volume);
+    private void addCategory(StorageVolumePreferenceCategory category) {
         mCategories.add(category);
         getPreferenceScreen().addPreference(category);
         category.init();
     }
 
     private boolean isMassStorageEnabled() {
-        // mass storage is enabled if primary volume supports it
-        final StorageVolume[] storageVolumes = mStorageManager.getVolumeList();
-        return (storageVolumes.length > 0 && storageVolumes[0].allowMassStorage());
+        // Mass storage is enabled if primary volume supports it
+        final StorageVolume[] volumes = mStorageManager.getVolumeList();
+        final StorageVolume primary = StorageManager.getPrimaryVolume(volumes);
+        return primary != null && primary.allowMassStorage();
     }
 
     @Override
diff --git a/src/com/android/settings/deviceinfo/MiscFilesHandler.java b/src/com/android/settings/deviceinfo/MiscFilesHandler.java
index 7f5c746..1e0cc46 100644
--- a/src/com/android/settings/deviceinfo/MiscFilesHandler.java
+++ b/src/com/android/settings/deviceinfo/MiscFilesHandler.java
@@ -20,7 +20,6 @@
 import android.app.ListActivity;
 import android.content.Context;
 import android.os.Bundle;
-import android.os.UserHandle;
 import android.os.storage.StorageVolume;
 import android.text.format.Formatter;
 import android.util.Log;
@@ -195,7 +194,7 @@
             final StorageVolume storageVolume = activity.getIntent().getParcelableExtra(
                     StorageVolume.EXTRA_STORAGE_VOLUME);
             StorageMeasurement mMeasurement = StorageMeasurement.getInstance(
-                    activity, storageVolume, UserHandle.CURRENT);
+                    activity, storageVolume);
             if (mMeasurement == null) return;
             mData = (ArrayList<StorageMeasurement.FileInfo>) mMeasurement.mFileInfoForMisc;
             if (mData != null) {
diff --git a/src/com/android/settings/deviceinfo/StorageItemPreference.java b/src/com/android/settings/deviceinfo/StorageItemPreference.java
index 6a76a86..e4f3ff9 100644
--- a/src/com/android/settings/deviceinfo/StorageItemPreference.java
+++ b/src/com/android/settings/deviceinfo/StorageItemPreference.java
@@ -21,34 +21,38 @@
 import android.graphics.Color;
 import android.graphics.drawable.ShapeDrawable;
 import android.graphics.drawable.shapes.RectShape;
+import android.os.UserHandle;
 import android.preference.Preference;
 
 import com.android.settings.R;
 
 public class StorageItemPreference extends Preference {
+    public final int color;
+    public final int userHandle;
 
-    private int mColor = Color.MAGENTA;
-
-    public StorageItemPreference(Context context, String key, int titleRes, int colorRes) {
-        this(context, key, context.getText(titleRes), colorRes);
+    public StorageItemPreference(Context context, int titleRes, int colorRes) {
+        this(context, context.getText(titleRes), colorRes, UserHandle.USER_NULL);
     }
 
-    public StorageItemPreference(Context context, String key, CharSequence title, int colorRes) {
+    public StorageItemPreference(
+            Context context, CharSequence title, int colorRes, int userHandle) {
         super(context);
-        //setLayoutResource(R.layout.app_percentage_item);
 
         if (colorRes != 0) {
-            mColor = context.getResources().getColor(colorRes);
+            this.color = context.getResources().getColor(colorRes);
 
             final Resources res = context.getResources();
             final int width = res.getDimensionPixelSize(R.dimen.device_memory_usage_button_width);
             final int height = res.getDimensionPixelSize(R.dimen.device_memory_usage_button_height);
-            setIcon(createRectShape(width, height, mColor));
+            setIcon(createRectShape(width, height, this.color));
+        } else {
+            this.color = Color.MAGENTA;
         }
 
-        setKey(key);
         setTitle(title);
         setSummary(R.string.memory_calculating_size);
+
+        this.userHandle = userHandle;
     }
 
     private static ShapeDrawable createRectShape(int width, int height, int color) {
@@ -58,8 +62,4 @@
         shape.getPaint().setColor(color);
         return shape;
     }
-
-    public int getColor() {
-        return mColor;
-    }
 }
diff --git a/src/com/android/settings/deviceinfo/StorageMeasurement.java b/src/com/android/settings/deviceinfo/StorageMeasurement.java
index c137b70..50238f3 100644
--- a/src/com/android/settings/deviceinfo/StorageMeasurement.java
+++ b/src/com/android/settings/deviceinfo/StorageMeasurement.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.deviceinfo;
 
+import android.app.ActivityManager;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
@@ -24,22 +25,23 @@
 import android.content.pm.IPackageStatsObserver;
 import android.content.pm.PackageManager;
 import android.content.pm.PackageStats;
-import android.os.Bundle;
+import android.content.pm.UserInfo;
 import android.os.Environment;
+import android.os.Environment.UserEnvironment;
 import android.os.Handler;
 import android.os.HandlerThread;
 import android.os.IBinder;
 import android.os.Looper;
 import android.os.Message;
-import android.os.RemoteException;
 import android.os.UserHandle;
+import android.os.UserManager;
 import android.os.storage.StorageVolume;
 import android.util.Log;
-import android.util.Pair;
+import android.util.SparseLongArray;
 
 import com.android.internal.app.IMediaContainerService;
-import com.android.internal.util.Preconditions;
 import com.google.android.collect.Maps;
+import com.google.common.collect.Sets;
 
 import java.io.File;
 import java.lang.ref.WeakReference;
@@ -47,22 +49,14 @@
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Set;
+
+import javax.annotation.concurrent.GuardedBy;
 
 /**
- * Measure the memory for various systems.
- *
- * TODO: This class should ideally have less knowledge about what the context
- * it's measuring is. In the future, reduce the amount of stuff it needs to
- * know about by just keeping an array of measurement types of the following
- * properties:
- *
- *   Filesystem stats (using DefaultContainerService)
- *   Directory measurements (using DefaultContainerService.measureDir)
- *   Application measurements (using PackageManager)
- *
- * Then the calling application would just specify the type and an argument.
- * This class would keep track of it while the calling application would
- * decide on how to use it.
+ * Utility for measuring the disk usage of internal storage or a physical
+ * {@link StorageVolume}. Connects with a remote {@link IMediaContainerService}
+ * and delivers results to {@link MeasurementReceiver}.
  */
 public class StorageMeasurement {
     private static final String TAG = "StorageMeasurement";
@@ -70,54 +64,99 @@
     private static final boolean LOCAL_LOGV = true;
     static final boolean LOGV = LOCAL_LOGV && Log.isLoggable(TAG, Log.VERBOSE);
 
-    public static final String TOTAL_SIZE = "total_size";
-
-    public static final String AVAIL_SIZE = "avail_size";
-
-    public static final String APPS_USED = "apps_used";
-
-    public static final String DOWNLOADS_SIZE = "downloads_size";
-
-    public static final String MISC_SIZE = "misc_size";
-
-    public static final String MEDIA_SIZES = "media_sizes";
-
     private static final String DEFAULT_CONTAINER_PACKAGE = "com.android.defcontainer";
 
     public static final ComponentName DEFAULT_CONTAINER_COMPONENT = new ComponentName(
             DEFAULT_CONTAINER_PACKAGE, "com.android.defcontainer.DefaultContainerService");
 
-    private final MeasurementHandler mHandler;
+    /** Media types to measure on external storage. */
+    private static final Set<String> sMeasureMediaTypes = Sets.newHashSet(
+            Environment.DIRECTORY_DCIM, Environment.DIRECTORY_MOVIES,
+            Environment.DIRECTORY_PICTURES, Environment.DIRECTORY_MUSIC,
+            Environment.DIRECTORY_ALARMS, Environment.DIRECTORY_NOTIFICATIONS,
+            Environment.DIRECTORY_RINGTONES, Environment.DIRECTORY_PODCASTS,
+            Environment.DIRECTORY_DOWNLOADS, Environment.DIRECTORY_ANDROID);
 
-    private static HashMap<Pair<StorageVolume, UserHandle>, StorageMeasurement>
-            sInstances = Maps.newHashMap();
+    @GuardedBy("sInstances")
+    private static HashMap<StorageVolume, StorageMeasurement> sInstances = Maps.newHashMap();
+
+    /**
+     * Obtain shared instance of {@link StorageMeasurement} for given physical
+     * {@link StorageVolume}, or internal storage if {@code null}.
+     */
+    public static StorageMeasurement getInstance(Context context, StorageVolume volume) {
+        synchronized (sInstances) {
+            StorageMeasurement value = sInstances.get(volume);
+            if (value == null) {
+                value = new StorageMeasurement(context.getApplicationContext(), volume);
+                sInstances.put(volume, value);
+            }
+            return value;
+        }
+    }
+
+    public static class MeasurementDetails {
+        /**
+         * Total apps disk usage.
+         * <p>
+         * When measuring internal storage, this value includes the code size of
+         * all apps (regardless of install status for current user), and
+         * internal disk used by the current user's apps. When the device
+         * emulates external storage, this value also includes emulated storage
+         * used by the current user's apps.
+         * <p>
+         * When measuring a physical {@link StorageVolume}, this value includes
+         * usage by all apps on that volume.
+         */
+        public long appsSize;
+
+        /**
+         * Total media disk usage, categorized by types such as
+         * {@link Environment#DIRECTORY_MUSIC}.
+         * <p>
+         * When measuring internal storage, this reflects media on emulated
+         * storage for the current user.
+         * <p>
+         * When measuring a physical {@link StorageVolume}, this reflects media
+         * on that volume.
+         */
+        public HashMap<String, Long> mediaSize = Maps.newHashMap();
+
+        /**
+         * Misc external disk usage for the current user, unaccounted in
+         * {@link #mediaSize}.
+         */
+        public long miscSize;
+
+        /**
+         * Total disk usage for users, which is only meaningful for emulated
+         * internal storage. Key is {@link UserHandle}.
+         */
+        public SparseLongArray usersSize = new SparseLongArray();
+    }
+
+    public interface MeasurementReceiver {
+        public void updateApproximate(StorageMeasurement meas, long totalSize, long availSize);
+        public void updateDetails(StorageMeasurement meas, MeasurementDetails details);
+    }
 
     private volatile WeakReference<MeasurementReceiver> mReceiver;
 
+    /** Physical volume being measured, or {@code null} for internal. */
+    private final StorageVolume mVolume;
+
+    private final boolean mIsInternal;
+    private final boolean mIsPrimary;
+
+    private final MeasurementHandler mHandler;
+
     private long mTotalSize;
     private long mAvailSize;
-    private long mAppsSize;
-    private long mDownloadsSize;
-    private long mMiscSize;
-    private long[] mMediaSizes = new long[StorageVolumePreferenceCategory.sMediaCategories.length];
-
-    private final StorageVolume mStorageVolume;
-    private final UserHandle mUser;
-    private final boolean mIsPrimary;
-    private final boolean mIsInternal;
-
-    private boolean mIncludeAppCodeSize = true;
 
     List<FileInfo> mFileInfoForMisc;
 
-    public interface MeasurementReceiver {
-        public void updateApproximate(StorageMeasurement meas, Bundle bundle);
-        public void updateExact(StorageMeasurement meas, Bundle bundle);
-    }
-
-    private StorageMeasurement(Context context, StorageVolume volume, UserHandle user) {
-        mStorageVolume = volume;
-        mUser = Preconditions.checkNotNull(user);
+    private StorageMeasurement(Context context, StorageVolume volume) {
+        mVolume = volume;
         mIsInternal = volume == null;
         mIsPrimary = volume != null ? volume.isPrimary() : false;
 
@@ -127,35 +166,6 @@
         mHandler = new MeasurementHandler(context, handlerThread.getLooper());
     }
 
-    public void setIncludeAppCodeSize(boolean include) {
-        mIncludeAppCodeSize = include;
-    }
-
-    /**
-     * Get the singleton of the StorageMeasurement class. The application
-     * context is used to avoid leaking activities.
-     * @param storageVolume The {@link StorageVolume} that will be measured
-     * @param isPrimary true when this storage volume is the primary volume
-     */
-    public static StorageMeasurement getInstance(
-            Context context, StorageVolume storageVolume, UserHandle user) {
-        final Pair<StorageVolume, UserHandle> key = new Pair<StorageVolume, UserHandle>(
-                storageVolume, user);
-        synchronized (sInstances) {
-            StorageMeasurement value = sInstances.get(key);
-            if (value == null) {
-                value = new StorageMeasurement(
-                        context.getApplicationContext(), storageVolume, user);
-                sInstances.put(key, value);
-            }
-            return value;
-        }
-    }
-
-    public UserHandle getUser() {
-        return mUser;
-    }
-
     public void setReceiver(MeasurementReceiver receiver) {
         if (mReceiver == null || mReceiver.get() == null) {
             mReceiver = new WeakReference<MeasurementReceiver>(receiver);
@@ -183,15 +193,10 @@
         if (receiver == null) {
             return;
         }
-
-        Bundle bundle = new Bundle();
-        bundle.putLong(TOTAL_SIZE, mTotalSize);
-        bundle.putLong(AVAIL_SIZE, mAvailSize);
-
-        receiver.updateApproximate(this, bundle);
+        receiver.updateApproximate(this, mTotalSize, mAvailSize);
     }
 
-    private void sendExactUpdate() {
+    private void sendExactUpdate(MeasurementDetails details) {
         MeasurementReceiver receiver = (mReceiver != null) ? mReceiver.get() : null;
         if (receiver == null) {
             if (LOGV) {
@@ -199,27 +204,76 @@
             }
             return;
         }
+        receiver.updateDetails(this, details);
+    }
 
-        Bundle bundle = new Bundle();
-        bundle.putLong(TOTAL_SIZE, mTotalSize);
-        bundle.putLong(AVAIL_SIZE, mAvailSize);
-        bundle.putLong(APPS_USED, mAppsSize);
-        bundle.putLong(DOWNLOADS_SIZE, mDownloadsSize);
-        bundle.putLong(MISC_SIZE, mMiscSize);
-        bundle.putLongArray(MEDIA_SIZES, mMediaSizes);
+    private static class StatsObserver extends IPackageStatsObserver.Stub {
+        private final boolean mIsInternal;
+        private final MeasurementDetails mDetails;
+        private final int mCurrentUser;
+        private final Message mFinished;
 
-        receiver.updateExact(this, bundle);
+        private int mRemaining;
+
+        public StatsObserver(boolean isInternal, MeasurementDetails details, int currentUser,
+                Message finished, int remaining) {
+            mIsInternal = isInternal;
+            mDetails = details;
+            mCurrentUser = currentUser;
+            mFinished = finished;
+            mRemaining = remaining;
+        }
+
+        @Override
+        public void onGetStatsCompleted(PackageStats stats, boolean succeeded) {
+            synchronized (mDetails) {
+                if (succeeded) {
+                    addStatsLocked(stats);
+                }
+                if (--mRemaining == 0) {
+                    mFinished.sendToTarget();
+                }
+            }
+        }
+
+        private void addStatsLocked(PackageStats stats) {
+            final long externalSize = stats.externalCodeSize + stats.externalDataSize
+                    + stats.externalCacheSize + stats.externalMediaSize;
+
+            if (mIsInternal) {
+                final long codeSize;
+                final long dataSize;
+                if (Environment.isExternalStorageEmulated()) {
+                    // OBB is shared on emulated storage, so count once as code,
+                    // and data includes emulated storage.
+                    codeSize = stats.codeSize + stats.externalObbSize;
+                    dataSize = stats.dataSize + externalSize;
+                } else {
+                    codeSize = stats.codeSize;
+                    dataSize = stats.dataSize;
+                }
+
+                // Include code and combined data for current user
+                if (stats.userHandle == mCurrentUser) {
+                    mDetails.appsSize += codeSize;
+                    mDetails.appsSize += dataSize;
+                }
+
+                // Include combined data for user summary
+                addValue(mDetails.usersSize, stats.userHandle, dataSize);
+
+            } else {
+                // Physical storage; only count external sizes
+                mDetails.appsSize += externalSize + stats.externalObbSize;
+            }
+        }
     }
 
     private class MeasurementHandler extends Handler {
         public static final int MSG_MEASURE = 1;
-
         public static final int MSG_CONNECTED = 2;
-
         public static final int MSG_DISCONNECT = 3;
-
         public static final int MSG_COMPLETED = 4;
-
         public static final int MSG_INVALIDATE = 5;
 
         private Object mLock = new Object();
@@ -228,21 +282,21 @@
 
         private volatile boolean mBound = false;
 
-        private volatile boolean mMeasured = false;
-
-        private StatsObserver mStatsObserver;
+        private MeasurementDetails mCached;
 
         private final WeakReference<Context> mContext;
 
-        final private ServiceConnection mDefContainerConn = new ServiceConnection() {
+        private final ServiceConnection mDefContainerConn = new ServiceConnection() {
+            @Override
             public void onServiceConnected(ComponentName name, IBinder service) {
-                final IMediaContainerService imcs = IMediaContainerService.Stub
-                .asInterface(service);
+                final IMediaContainerService imcs = IMediaContainerService.Stub.asInterface(
+                        service);
                 mDefaultContainer = imcs;
                 mBound = true;
                 sendMessage(obtainMessage(MSG_CONNECTED, imcs));
             }
 
+            @Override
             public void onServiceDisconnected(ComponentName name) {
                 mBound = false;
                 removeMessages(MSG_CONNECTED);
@@ -258,8 +312,8 @@
         public void handleMessage(Message msg) {
             switch (msg.what) {
                 case MSG_MEASURE: {
-                    if (mMeasured) {
-                        sendExactUpdate();
+                    if (mCached != null) {
+                        sendExactUpdate(mCached);
                         break;
                     }
 
@@ -274,8 +328,8 @@
                             sendMessage(obtainMessage(MSG_CONNECTED, mDefaultContainer));
                         } else {
                             Intent service = new Intent().setComponent(DEFAULT_CONTAINER_COMPONENT);
-                            context.bindService(service, mDefContainerConn,
-                                    Context.BIND_AUTO_CREATE, mUser.getIdentifier());
+                            context.bindService(service, mDefContainerConn, Context.BIND_AUTO_CREATE,
+                                    UserHandle.USER_OWNER);
                         }
                     }
                     break;
@@ -301,95 +355,25 @@
                     break;
                 }
                 case MSG_COMPLETED: {
-                    mMeasured = true;
-                    sendExactUpdate();
+                    mCached = (MeasurementDetails) msg.obj;
+                    sendExactUpdate(mCached);
                     break;
                 }
                 case MSG_INVALIDATE: {
-                    mMeasured = false;
+                    mCached = null;
                     break;
                 }
             }
         }
 
-        /**
-         * Request measurement of each package.
-         *
-         * @param pm PackageManager instance to query
-         */
-        public void requestQueuedMeasurementsLocked(PackageManager pm) {
-            final String[] appsList = mStatsObserver.getAppsList();
-            final int N = appsList.length;
-            for (int i = 0; i < N; i++) {
-                pm.getPackageSizeInfo(appsList[i], mStatsObserver);
-            }
-        }
-
-        private class StatsObserver extends IPackageStatsObserver.Stub {
-            private long mAppsSizeForThisStatsObserver = 0;
-            private final List<String> mAppsList = new ArrayList<String>();
-
-            public void onGetStatsCompleted(PackageStats stats, boolean succeeded) {
-                if (!mStatsObserver.equals(this)) {
-                    // this callback's class object is no longer in use. ignore this callback.
-                    return;
-                }
-
-                if (succeeded) {
-                    if (mIsInternal) {
-                        if (mIncludeAppCodeSize) {
-                            mAppsSizeForThisStatsObserver += stats.codeSize;
-                        }
-                        mAppsSizeForThisStatsObserver += stats.dataSize;
-                    } else if (!Environment.isExternalStorageEmulated()) {
-                        mAppsSizeForThisStatsObserver += stats.externalObbSize +
-                                stats.externalCodeSize + stats.externalDataSize +
-                                stats.externalCacheSize + stats.externalMediaSize;
-                    } else {
-                        if (mIncludeAppCodeSize) {
-                            mAppsSizeForThisStatsObserver += stats.codeSize;
-                        }
-                        mAppsSizeForThisStatsObserver += stats.dataSize +
-                                stats.externalCodeSize + stats.externalDataSize +
-                                stats.externalCacheSize + stats.externalMediaSize +
-                                stats.externalObbSize;
-                    }
-                }
-
-                synchronized (mAppsList) {
-                    mAppsList.remove(stats.packageName);
-                    if (mAppsList.size() > 0) return;
-                }
-
-                mAppsSize = mAppsSizeForThisStatsObserver;
-                onInternalMeasurementComplete();
-            }
-
-            public void queuePackageMeasurementLocked(String packageName) {
-                synchronized (mAppsList) {
-                    mAppsList.add(packageName);
-                }
-            }
-
-            public String[] getAppsList() {
-                synchronized (mAppsList) {
-                    return mAppsList.toArray(new String[mAppsList.size()]);
-                }
-            }
-        }
-
-        private void onInternalMeasurementComplete() {
-            sendEmptyMessage(MSG_COMPLETED);
-        }
-
         private void measureApproximateStorage(IMediaContainerService imcs) {
-            final String path = mStorageVolume != null ? mStorageVolume.getPath()
+            final String path = mVolume != null ? mVolume.getPath()
                     : Environment.getDataDirectory().getPath();
             try {
                 final long[] stats = imcs.getFileSystemStats(path);
                 mTotalSize = stats[0];
                 mAvailSize = stats[1];
-            } catch (RemoteException e) {
+            } catch (Exception e) {
                 Log.w(TAG, "Problem in container service", e);
             }
 
@@ -397,146 +381,116 @@
         }
 
         private void measureExactStorage(IMediaContainerService imcs) {
-            Context context = mContext != null ? mContext.get() : null;
+            final Context context = mContext != null ? mContext.get() : null;
             if (context == null) {
                 return;
             }
 
-            // Media
-            for (int i = 0; i < StorageVolumePreferenceCategory.sMediaCategories.length; i++) {
-                if (mIsPrimary) {
-                    String[] dirs = StorageVolumePreferenceCategory.sMediaCategories[i].mDirPaths;
-                    final int length = dirs.length;
-                    mMediaSizes[i] = 0;
-                    for (int d = 0; d < length; d++) {
-                        final String path = dirs[d];
-                        mMediaSizes[i] += getDirectorySize(imcs, path);
-                    }
-                } else {
-                    // TODO Compute sizes using the MediaStore
-                    mMediaSizes[i] = 0;
+            final MeasurementDetails details = new MeasurementDetails();
+            final Message finished = obtainMessage(MSG_COMPLETED, details);
+
+            final UserManager userManager = (UserManager) context.getSystemService(
+                    Context.USER_SERVICE);
+            final List<UserInfo> users = userManager.getUsers();
+
+            final int currentUser = ActivityManager.getCurrentUser();
+            final UserEnvironment currentEnv = new UserEnvironment(currentUser);
+
+            // Measure media types for emulated storage, or for primary physical
+            // external volume
+            final boolean measureMedia = (mIsInternal && Environment.isExternalStorageEmulated())
+                    || mIsPrimary;
+            if (measureMedia) {
+                for (String type : sMeasureMediaTypes) {
+                    final File path = currentEnv.getExternalStoragePublicDirectory(type);
+                    final long size = getDirectorySize(imcs, path);
+                    details.mediaSize.put(type, size);
                 }
             }
 
-            /* Compute sizes using the media provider
-            // Media sizes are measured by the MediaStore. Query database.
-            ContentResolver contentResolver = context.getContentResolver();
-            // TODO "external" as a static String from MediaStore?
-            Uri audioUri = MediaStore.Files.getContentUri("external");
-            final String[] projection =
-                new String[] { "sum(" + MediaStore.Files.FileColumns.SIZE + ")" };
-            final String selection =
-                MediaStore.Files.FileColumns.STORAGE_ID + "=" +
-                Integer.toString(mStorageVolume.getStorageId()) + " AND " +
-                MediaStore.Files.FileColumns.MEDIA_TYPE + "=?";
-
-            for (int i = 0; i < StorageVolumePreferenceCategory.sMediaCategories.length; i++) {
-                mMediaSizes[i] = 0;
-                int mediaType = StorageVolumePreferenceCategory.sMediaCategories[i].mediaType;
-                Cursor c = null;
-                try {
-                    c = contentResolver.query(audioUri, projection, selection,
-                            new String[] { Integer.toString(mediaType) } , null);
-
-                    if (c != null && c.moveToNext()) {
-                        long size = c.getLong(0);
-                        mMediaSizes[i] = size;
-                    }
-                } finally {
-                    if (c != null) c.close();
-                }
-            }
-             */
-
-            // Downloads (primary volume only)
-            if (mIsPrimary) {
-                final String downloadsPath = Environment.getExternalStoragePublicDirectory(
-                        Environment.DIRECTORY_DOWNLOADS).getAbsolutePath();
-                mDownloadsSize = getDirectorySize(imcs, downloadsPath);
-            } else {
-                mDownloadsSize = 0;
+            // Measure misc files not counted under media
+            if (mIsInternal || mIsPrimary) {
+                final File path = mIsInternal ? currentEnv.getExternalStorageDirectory()
+                        : mVolume.getPathFile();
+                details.miscSize = measureMisc(imcs, path);
             }
 
-            // Misc
-            mMiscSize = 0;
-            if (mIsPrimary) {
-                measureSizesOfMisc(imcs);
+            // Measure total emulated storage of all users; internal apps data
+            // will be spliced in later
+            for (UserInfo user : users) {
+                final UserEnvironment userEnv = new UserEnvironment(user.id);
+                final long size = getDirectorySize(imcs, userEnv.getExternalStorageDirectory());
+                addValue(details.usersSize, user.id, size);
             }
 
-            // Apps
-            // We have to get installd to measure the package sizes.
-            PackageManager pm = context.getPackageManager();
-            if (pm == null) {
-                return;
-            }
-            final List<ApplicationInfo> apps;
-            if (mIsPrimary || mIsInternal) {
-                apps = pm.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES |
-                        PackageManager.GET_DISABLED_COMPONENTS);
-            } else {
-                // TODO also measure apps installed on the SD card
-                apps = Collections.emptyList();
-            }
+            // Measure all apps for all users
+            final PackageManager pm = context.getPackageManager();
+            if (mIsInternal || mIsPrimary) {
+                final List<ApplicationInfo> apps = pm.getInstalledApplications(
+                        PackageManager.GET_UNINSTALLED_PACKAGES
+                        | PackageManager.GET_DISABLED_COMPONENTS);
 
-            if (apps != null && apps.size() > 0) {
-                // initiate measurement of all package sizes. need new StatsObserver object.
-                mStatsObserver = new StatsObserver();
-                synchronized (mStatsObserver.mAppsList) {
-                    for (int i = 0; i < apps.size(); i++) {
-                        final ApplicationInfo info = apps.get(i);
-                        mStatsObserver.queuePackageMeasurementLocked(info.packageName);
+                final int count = users.size() * apps.size();
+                final StatsObserver observer = new StatsObserver(
+                        mIsInternal, details, currentUser, finished, count);
+
+                for (UserInfo user : users) {
+                    for (ApplicationInfo app : apps) {
+                        pm.getPackageSizeInfo(app.packageName, user.id, observer);
                     }
                 }
 
-                requestQueuedMeasurementsLocked(pm);
-                // Sending of the message back to the MeasurementReceiver is
-                // completed in the PackageObserver
             } else {
-                onInternalMeasurementComplete();
+                finished.sendToTarget();
             }
         }
     }
 
-    private long getDirectorySize(IMediaContainerService imcs, String dir) {
+    private static long getDirectorySize(IMediaContainerService imcs, File path) {
         try {
-            return imcs.calculateDirectorySize(dir);
+            final long size = imcs.calculateDirectorySize(path.toString());
+            Log.d(TAG, "getDirectorySize(" + path + ") returned " + size);
+            return size;
         } catch (Exception e) {
-            Log.w(TAG, "Could not read memory from default container service for " + dir, e);
+            Log.w(TAG, "Could not read memory from default container service for " + path, e);
             return 0;
         }
     }
 
-    long getMiscSize() {
-        return mMiscSize;
-    }
-
-    private void measureSizesOfMisc(IMediaContainerService imcs) {
-        File top = new File(mStorageVolume.getPath());
+    private long measureMisc(IMediaContainerService imcs, File dir) {
         mFileInfoForMisc = new ArrayList<FileInfo>();
-        File[] files = top.listFiles();
-        if (files == null) return;
-        final int len = files.length;
-        // Get sizes of all top level nodes except the ones already computed...
+
+        final File[] files = dir.listFiles();
+        if (files == null) return 0;
+
+        // Get sizes of all top level nodes except the ones already computed
         long counter = 0;
-        for (int i = 0; i < len; i++) {
-            String path = files[i].getAbsolutePath();
-            if (StorageVolumePreferenceCategory.sPathsExcludedForMisc.contains(path)) {
+        long miscSize = 0;
+
+        for (File file : files) {
+            final String path = file.getAbsolutePath();
+            final String name = file.getName();
+            if (sMeasureMediaTypes.contains(name)) {
                 continue;
             }
-            if (files[i].isFile()) {
-                final long fileSize = files[i].length();
+
+            if (file.isFile()) {
+                final long fileSize = file.length();
                 mFileInfoForMisc.add(new FileInfo(path, fileSize, counter++));
-                mMiscSize += fileSize;
-            } else if (files[i].isDirectory()) {
-                final long dirSize = getDirectorySize(imcs, path);
+                miscSize += fileSize;
+            } else if (file.isDirectory()) {
+                final long dirSize = getDirectorySize(imcs, file);
                 mFileInfoForMisc.add(new FileInfo(path, dirSize, counter++));
-                mMiscSize += dirSize;
+                miscSize += dirSize;
             } else {
                 // Non directory, non file: not listed
             }
         }
+
         // sort the list of FileInfo objects collected above in descending order of their sizes
         Collections.sort(mFileInfoForMisc);
+
+        return miscSize;
     }
 
     static class FileInfo implements Comparable<FileInfo> {
@@ -562,10 +516,7 @@
         }
     }
 
-    /**
-     * TODO remove this method, only used because external SD Card needs a special treatment.
-     */
-    boolean isExternalSDCard() {
-        return !mIsPrimary && !mIsInternal;
+    private static void addValue(SparseLongArray array, int key, long value) {
+        array.put(key, array.get(key) + value);
     }
 }
diff --git a/src/com/android/settings/deviceinfo/StorageVolumePreferenceCategory.java b/src/com/android/settings/deviceinfo/StorageVolumePreferenceCategory.java
index 4c7c3e6..469dbc7 100644
--- a/src/com/android/settings/deviceinfo/StorageVolumePreferenceCategory.java
+++ b/src/com/android/settings/deviceinfo/StorageVolumePreferenceCategory.java
@@ -25,12 +25,10 @@
 import android.content.pm.UserInfo;
 import android.content.res.Resources;
 import android.hardware.usb.UsbManager;
-import android.os.Bundle;
 import android.os.Environment;
 import android.os.Handler;
 import android.os.Message;
 import android.os.RemoteException;
-import android.os.UserHandle;
 import android.os.UserManager;
 import android.os.storage.StorageManager;
 import android.os.storage.StorageVolume;
@@ -39,169 +37,98 @@
 import android.text.format.Formatter;
 
 import com.android.settings.R;
+import com.android.settings.deviceinfo.StorageMeasurement.MeasurementDetails;
 import com.android.settings.deviceinfo.StorageMeasurement.MeasurementReceiver;
 import com.google.android.collect.Lists;
 
-import java.util.HashSet;
+import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Set;
 
-public class StorageVolumePreferenceCategory extends PreferenceCategory
-        implements MeasurementReceiver {
-    private static final String KEY_TOTAL_SIZE = "total_size";
-    private static final String KEY_APPLICATIONS = "applications";
-    private static final String KEY_DCIM = "dcim"; // Pictures and Videos
-    private static final String KEY_MUSIC = "music";
-    private static final String KEY_DOWNLOADS = "downloads";
-    private static final String KEY_MISC = "misc";
-    private static final String KEY_AVAILABLE = "available";
-    private static final String KEY_USER_PREFIX = "user";
-
+public class StorageVolumePreferenceCategory extends PreferenceCategory {
     private static final int ORDER_USAGE_BAR = -2;
     private static final int ORDER_STORAGE_LOW = -1;
 
+    /** Physical volume being measured, or {@code null} for internal. */
+    private final StorageVolume mVolume;
+    private final StorageMeasurement mMeasure;
+
+    private final Resources mResources;
+    private final StorageManager mStorageManager;
+    private final UserManager mUserManager;
+
     private UsageBarPreference mUsageBarPreference;
     private Preference mMountTogglePreference;
     private Preference mFormatPreference;
     private Preference mStorageLow;
 
-    private final StorageVolume mVolume;
-
-    private final boolean mIsEmulated;
-    private final boolean mIsPrimary;
-
-    private final Resources mResources;
-    private final StorageManager mStorageManager;
-    private final UserManager mUserManager;
-
-    /** Measurement for local user. */
-    private StorageMeasurement mLocalMeasure;
-    /** All used measurements, including other users. */
-    private List<StorageMeasurement> mAllMeasures = Lists.newArrayList();
-
-    private boolean mAllowFormat;
+    private StorageItemPreference mItemTotal;
+    private StorageItemPreference mItemAvailable;
+    private StorageItemPreference mItemApps;
+    private StorageItemPreference mItemDcim;
+    private StorageItemPreference mItemMusic;
+    private StorageItemPreference mItemDownloads;
+    private StorageItemPreference mItemMisc;
+    private List<StorageItemPreference> mItemUsers = Lists.newArrayList();
 
     private boolean mUsbConnected;
     private String mUsbFunction;
-    private boolean mShowingApprox;
 
-    public static final Set<String> sPathsExcludedForMisc = new HashSet<String>();
+    private long mTotalSize;
 
-    static class MediaCategory {
-        final String[] mDirPaths;
-        final String mCategory;
-
-        public MediaCategory(String category, String... directories) {
-            mCategory = category;
-            final int length = directories.length;
-            mDirPaths = new String[length];
-            for (int i = 0; i < length; i++) {
-                final String name = directories[i];
-                final String path = Environment.getExternalStoragePublicDirectory(name).
-                        getAbsolutePath();
-                mDirPaths[i] = path;
-                sPathsExcludedForMisc.add(path);
-            }
-        }
-    }
-
-    static final MediaCategory[] sMediaCategories = new MediaCategory[] {
-        new MediaCategory(KEY_DCIM, Environment.DIRECTORY_DCIM, Environment.DIRECTORY_MOVIES,
-                Environment.DIRECTORY_PICTURES),
-        new MediaCategory(KEY_MUSIC, Environment.DIRECTORY_MUSIC, Environment.DIRECTORY_ALARMS,
-                Environment.DIRECTORY_NOTIFICATIONS, Environment.DIRECTORY_RINGTONES,
-                Environment.DIRECTORY_PODCASTS)
-    };
-
-    static {
-        // Downloads
-        sPathsExcludedForMisc.add(Environment.getExternalStoragePublicDirectory(
-                Environment.DIRECTORY_DOWNLOADS).getAbsolutePath());
-        // Apps
-        sPathsExcludedForMisc.add(Environment.getExternalStorageDirectory().getAbsolutePath() +
-                "/Android");
-    }
-
-    // Updates the memory usage bar graph.
     private static final int MSG_UI_UPDATE_APPROXIMATE = 1;
-
-    // Updates the memory usage bar graph.
-    private static final int MSG_UI_UPDATE_EXACT = 2;
+    private static final int MSG_UI_UPDATE_DETAILS = 2;
 
     private Handler mUpdateHandler = new Handler() {
         @Override
         public void handleMessage(Message msg) {
             switch (msg.what) {
                 case MSG_UI_UPDATE_APPROXIMATE: {
-                    final UserHandle user = (UserHandle) msg.obj;
-                    final Bundle bundle = msg.getData();
-                    final long totalSize = bundle.getLong(StorageMeasurement.TOTAL_SIZE);
-                    final long availSize = bundle.getLong(StorageMeasurement.AVAIL_SIZE);
-
-                    if (user.getIdentifier() == UserHandle.USER_CURRENT) {
-                        updateApproximate(totalSize, availSize);
-                    }
+                    final long[] size = (long[]) msg.obj;
+                    updateApproximate(size[0], size[1]);
                     break;
                 }
-                case MSG_UI_UPDATE_EXACT: {
-                    final UserHandle user = (UserHandle) msg.obj;
-                    final Bundle bundle = msg.getData();
-                    final long totalSize = bundle.getLong(StorageMeasurement.TOTAL_SIZE);
-                    final long availSize = bundle.getLong(StorageMeasurement.AVAIL_SIZE);
-                    final long appsUsed = bundle.getLong(StorageMeasurement.APPS_USED);
-                    final long downloadsSize = bundle.getLong(StorageMeasurement.DOWNLOADS_SIZE);
-                    final long miscSize = bundle.getLong(StorageMeasurement.MISC_SIZE);
-                    final long[] mediaSizes = bundle.getLongArray(StorageMeasurement.MEDIA_SIZES);
-
-                    if (user.getIdentifier() == UserHandle.USER_CURRENT) {
-                        updateExact(totalSize, availSize, appsUsed, downloadsSize, miscSize,
-                                mediaSizes);
-                    } else {
-                        long usedSize = appsUsed + downloadsSize + miscSize;
-                        for (long mediaSize : mediaSizes) {
-                            usedSize += mediaSize;
-                        }
-                        updateUserExact(user, totalSize, usedSize);
-                    }
+                case MSG_UI_UPDATE_DETAILS: {
+                    final MeasurementDetails details = (MeasurementDetails) msg.obj;
+                    updateDetails(details);
                     break;
                 }
             }
         }
     };
 
-    public StorageVolumePreferenceCategory(Context context, StorageVolume volume) {
+    /**
+     * Build category to summarize internal storage, including any emulated
+     * {@link StorageVolume}.
+     */
+    public static StorageVolumePreferenceCategory buildForInternal(Context context) {
+        return new StorageVolumePreferenceCategory(context, null);
+    }
+
+    /**
+     * Build category to summarize specific physical {@link StorageVolume}.
+     */
+    public static StorageVolumePreferenceCategory buildForPhysical(
+            Context context, StorageVolume volume) {
+        return new StorageVolumePreferenceCategory(context, volume);
+    }
+
+    private StorageVolumePreferenceCategory(Context context, StorageVolume volume) {
         super(context);
 
         mVolume = volume;
-
-        mIsPrimary = volume != null ? volume.isPrimary() : false;
-        mIsEmulated = volume != null ? volume.isEmulated() : false;
+        mMeasure = StorageMeasurement.getInstance(context, volume);
 
         mResources = context.getResources();
-        mStorageManager = (StorageManager) context.getSystemService(Context.STORAGE_SERVICE);
+        mStorageManager = StorageManager.from(context);
         mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
 
         setTitle(volume != null ? volume.getDescription(context)
                 : context.getText(R.string.internal_storage));
-
-        mLocalMeasure = StorageMeasurement.getInstance(context, volume, UserHandle.CURRENT);
-        mAllMeasures.add(mLocalMeasure);
-
-        // Cannot format emulated storage
-        mAllowFormat = mVolume != null && !mVolume.isEmulated();
-
-        // For now we are disabling reformatting secondary external storage
-        // until some interoperability problems with MTP are fixed
-        if (!mIsPrimary) mAllowFormat = false;
     }
 
-    private void addStorageItem(String key, int titleRes, int colorRes) {
-        addPreference(new StorageItemPreference(getContext(), key, titleRes, colorRes));
-    }
-
-    private static String buildUserKey(UserHandle user) {
-        return KEY_USER_PREFIX + user.getIdentifier();
+    private StorageItemPreference buildItem(int titleRes, int colorRes) {
+        return new StorageItemPreference(getContext(), titleRes, colorRes);
     }
 
     public void init() {
@@ -215,50 +142,62 @@
         }
 
         final List<UserInfo> otherUsers = getUsersExcluding(currentUser);
-        final boolean measureUsers = mIsEmulated && mIsPrimary && otherUsers.size() > 0;
+        final boolean showUsers = mVolume == null && otherUsers.size() > 0;
 
         mUsageBarPreference = new UsageBarPreference(context);
         mUsageBarPreference.setOrder(ORDER_USAGE_BAR);
         addPreference(mUsageBarPreference);
 
-        addStorageItem(KEY_TOTAL_SIZE, R.string.memory_size, 0);
-        addStorageItem(KEY_AVAILABLE, R.string.memory_available, R.color.memory_avail);
+        mItemTotal = buildItem(R.string.memory_size, 0);
+        mItemAvailable = buildItem(R.string.memory_available, R.color.memory_avail);
+        addPreference(mItemTotal);
+        addPreference(mItemAvailable);
 
-        if (measureUsers) {
-            addPreference(new PreferenceHeader(context, currentUser.name));
-        }
+        mItemApps = buildItem(R.string.memory_apps_usage, R.color.memory_apps_usage);
+        mItemDcim = buildItem(R.string.memory_dcim_usage, R.color.memory_dcim);
+        mItemMusic = buildItem(R.string.memory_music_usage, R.color.memory_music);
+        mItemDownloads = buildItem(R.string.memory_downloads_usage, R.color.memory_downloads);
+        mItemMisc = buildItem(R.string.memory_media_misc_usage, R.color.memory_misc);
 
-        addStorageItem(KEY_APPLICATIONS, R.string.memory_apps_usage, R.color.memory_apps_usage);
-        addStorageItem(KEY_DCIM, R.string.memory_dcim_usage, R.color.memory_dcim);
-        addStorageItem(KEY_MUSIC, R.string.memory_music_usage, R.color.memory_music);
-        addStorageItem(KEY_DOWNLOADS, R.string.memory_downloads_usage, R.color.memory_downloads);
-        addStorageItem(KEY_MISC, R.string.memory_media_misc_usage, R.color.memory_misc);
+        final boolean showDetails = mVolume == null || mVolume.isPrimary();
+        if (showDetails) {
+            if (showUsers) {
+                addPreference(new PreferenceHeader(context, currentUser.name));
+            }
 
-        if (measureUsers) {
-            addPreference(new PreferenceHeader(context, R.string.storage_other_users));
+            addPreference(mItemApps);
+            addPreference(mItemDcim);
+            addPreference(mItemMusic);
+            addPreference(mItemDownloads);
+            addPreference(mItemMisc);
 
-            int count = 0;
-            for (UserInfo info : otherUsers) {
-                final UserHandle user = new UserHandle(info.id);
-                final String key = buildUserKey(user);
+            if (showUsers) {
+                addPreference(new PreferenceHeader(context, R.string.storage_other_users));
 
-                final StorageMeasurement measure = StorageMeasurement.getInstance(
-                        context, mVolume, user);
-                measure.setIncludeAppCodeSize(false);
-                mAllMeasures.add(measure);
-
-                final int colorRes = count++ % 2 == 0 ? R.color.memory_user_light
-                        : R.color.memory_user_dark;
-                addPreference(new StorageItemPreference(getContext(), key, info.name, colorRes));
+                int count = 0;
+                for (UserInfo info : otherUsers) {
+                    final int colorRes = count++ % 2 == 0 ? R.color.memory_user_light
+                            : R.color.memory_user_dark;
+                    final StorageItemPreference userPref = new StorageItemPreference(
+                            getContext(), info.name, colorRes, info.id);
+                    mItemUsers.add(userPref);
+                    addPreference(userPref);
+                }
             }
         }
 
-        mMountTogglePreference = new Preference(context);
-        mMountTogglePreference.setTitle(R.string.sd_eject);
-        mMountTogglePreference.setSummary(R.string.sd_eject_summary);
-        addPreference(mMountTogglePreference);
+        final boolean isRemovable = mVolume != null ? mVolume.isRemovable() : false;
+        if (isRemovable) {
+            mMountTogglePreference = new Preference(context);
+            mMountTogglePreference.setTitle(R.string.sd_eject);
+            mMountTogglePreference.setSummary(R.string.sd_eject_summary);
+            addPreference(mMountTogglePreference);
+        }
 
-        if (mAllowFormat) {
+        // Only allow formatting of primary physical storage
+        // TODO: enable for non-primary volumes once MTP is fixed
+        final boolean allowFormat = mVolume != null ? mVolume.isPrimary() : false;
+        if (allowFormat) {
             mFormatPreference = new Preference(context);
             mFormatPreference.setTitle(R.string.sd_format);
             mFormatPreference.setSummary(R.string.sd_format_summary);
@@ -286,32 +225,24 @@
     }
 
     private void updatePreferencesFromState() {
+        // Only update for physical volumes
+        if (mVolume == null) return;
+
         mMountTogglePreference.setEnabled(true);
 
-        String state = mVolume != null
-                ? mStorageManager.getVolumeState(mVolume.getPath())
-                : Environment.MEDIA_MOUNTED;
+        final String state = mStorageManager.getVolumeState(mVolume.getPath());
 
-        String readOnly = "";
         if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
-            state = Environment.MEDIA_MOUNTED;
-            readOnly = mResources.getString(R.string.read_only);
+            mItemAvailable.setSummary(R.string.memory_available_read_only);
             if (mFormatPreference != null) {
                 removePreference(mFormatPreference);
             }
+        } else {
+            mItemAvailable.setSummary(R.string.memory_available);
         }
 
-        if ((mVolume == null || !mVolume.isRemovable())
-                && !Environment.MEDIA_UNMOUNTED.equals(state)) {
-            // This device has built-in storage that is not removable.
-            // There is no reason for the user to unmount it.
-            removePreference(mMountTogglePreference);
-        }
-
-        if (Environment.MEDIA_MOUNTED.equals(state)) {
-            final Preference pref = findPreference(KEY_AVAILABLE);
-            pref.setSummary(pref.getSummary() + readOnly);
-
+        if (Environment.MEDIA_MOUNTED.equals(state)
+                || Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
             mMountTogglePreference.setEnabled(true);
             mMountTogglePreference.setTitle(mResources.getString(R.string.sd_eject));
             mMountTogglePreference.setSummary(mResources.getString(R.string.sd_eject_summary));
@@ -328,8 +259,8 @@
             }
 
             removePreference(mUsageBarPreference);
-            removePreference(findPreference(KEY_TOTAL_SIZE));
-            removePreference(findPreference(KEY_AVAILABLE));
+            removePreference(mItemTotal);
+            removePreference(mItemAvailable);
             if (mFormatPreference != null) {
                 removePreference(mFormatPreference);
             }
@@ -338,8 +269,10 @@
         if (mUsbConnected && (UsbManager.USB_FUNCTION_MTP.equals(mUsbFunction) ||
                 UsbManager.USB_FUNCTION_PTP.equals(mUsbFunction))) {
             mMountTogglePreference.setEnabled(false);
-            if (Environment.MEDIA_MOUNTED.equals(state)) {
-                mMountTogglePreference.setSummary(mResources.getString(R.string.mtp_ptp_mode_summary));
+            if (Environment.MEDIA_MOUNTED.equals(state)
+                    || Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
+                mMountTogglePreference.setSummary(
+                        mResources.getString(R.string.mtp_ptp_mode_summary));
             }
 
             if (mFormatPreference != null) {
@@ -350,105 +283,78 @@
             mFormatPreference.setEnabled(true);
             mFormatPreference.setSummary(mResources.getString(R.string.sd_format_summary));
         }
-
     }
 
     public void updateApproximate(long totalSize, long availSize) {
-        findPreference(KEY_TOTAL_SIZE).setSummary(formatSize(totalSize));
-        findPreference(KEY_AVAILABLE).setSummary(formatSize(availSize));
+        mItemTotal.setSummary(formatSize(totalSize));
+        mItemAvailable.setSummary(formatSize(availSize));
+
+        mTotalSize = totalSize;
 
         final long usedSize = totalSize - availSize;
 
         mUsageBarPreference.clear();
         mUsageBarPreference.addEntry(0, usedSize / (float) totalSize, android.graphics.Color.GRAY);
         mUsageBarPreference.commit();
-        mShowingApprox = true;
 
         updatePreferencesFromState();
     }
 
-    public void updateExact(long totalSize, long availSize, long appsSize, long downloadsSize,
-            long miscSize, long[] mediaSizes) {
-        if (mShowingApprox) {
-            mUsageBarPreference.clear();
-            mShowingApprox = false;
+    private static long totalValues(HashMap<String, Long> map, String... keys) {
+        long total = 0;
+        for (String key : keys) {
+            total += map.get(key);
         }
+        return total;
+    }
 
-        findPreference(KEY_TOTAL_SIZE).setSummary(formatSize(totalSize));
+    public void updateDetails(MeasurementDetails details) {
+        final boolean showDetails = mVolume == null || mVolume.isPrimary();
+        if (!showDetails) return;
 
-        if (mLocalMeasure.isExternalSDCard()) {
-            // TODO FIXME: external SD card will not report any size. Show used space in bar graph
-            final long usedSize = totalSize - availSize;
-            mUsageBarPreference.addEntry(
-                    0, usedSize / (float) totalSize, android.graphics.Color.GRAY);
+        mUsageBarPreference.clear();
+
+        updatePreference(mItemApps, details.appsSize);
+
+        final long dcimSize = totalValues(details.mediaSize, Environment.DIRECTORY_DCIM,
+                Environment.DIRECTORY_MOVIES, Environment.DIRECTORY_PICTURES);
+        updatePreference(mItemDcim, dcimSize);
+
+        final long musicSize = totalValues(details.mediaSize, Environment.DIRECTORY_MUSIC,
+                Environment.DIRECTORY_ALARMS, Environment.DIRECTORY_NOTIFICATIONS,
+                Environment.DIRECTORY_RINGTONES, Environment.DIRECTORY_PODCASTS);
+        updatePreference(mItemMusic, musicSize);
+
+        final long downloadsSize = totalValues(details.mediaSize, Environment.DIRECTORY_DOWNLOADS);
+        updatePreference(mItemDownloads, musicSize);
+
+        updatePreference(mItemMisc, details.miscSize);
+
+        for (StorageItemPreference userPref : mItemUsers) {
+            final long userSize = details.usersSize.get(userPref.userHandle);
+            updatePreference(userPref, userSize);
         }
 
-        updatePreference(appsSize, totalSize, KEY_APPLICATIONS);
-
-        long totalMediaSize = 0;
-        for (int i = 0; i < sMediaCategories.length; i++) {
-            final String category = sMediaCategories[i].mCategory;
-            final long size = mediaSizes[i];
-            updatePreference(size, totalSize, category);
-            totalMediaSize += size;
-        }
-
-        updatePreference(downloadsSize, totalSize, KEY_DOWNLOADS);
-
-        // Note miscSize != totalSize - availSize - appsSize - downloadsSize - totalMediaSize
-        // Block size is taken into account. That can be extra space from folders. TODO Investigate
-        updatePreference(miscSize, totalSize, KEY_MISC);
-
-        updatePreference(availSize, totalSize, KEY_AVAILABLE, false);
-
         mUsageBarPreference.commit();
     }
 
-    public void updateUserExact(UserHandle user, long totalSize, long usedSize) {
-        if (mShowingApprox) {
-            mUsageBarPreference.clear();
-            mShowingApprox = false;
-        }
-
-        final String key = buildUserKey(user);
-
-        findPreference(key).setSummary(formatSize(usedSize));
-        updatePreference(usedSize, totalSize, key);
-
-        mUsageBarPreference.commit();
-    }
-
-    private void updatePreference(long size, long totalSize, String category) {
-        updatePreference(size, totalSize, category, true);
-    }
-
-    private void updatePreference(long size, long totalSize, String category, boolean addBar) {
-        final StorageItemPreference pref = (StorageItemPreference) findPreference(category);
-
-        if (pref != null) {
-            if (size > 0) {
-                pref.setSummary(formatSize(size));
-                if (addBar) {
-                    final int order = pref.getOrder();
-                    mUsageBarPreference.addEntry(order, size / (float) totalSize, pref.getColor());
-                }
-            } else {
-                removePreference(pref);
-            }
+    private void updatePreference(StorageItemPreference pref, long size) {
+        if (size > 0) {
+            pref.setSummary(formatSize(size));
+            final int order = pref.getOrder();
+            mUsageBarPreference.addEntry(order, size / (float) mTotalSize, pref.color);
+        } else {
+            removePreference(pref);
         }
     }
 
     private void measure() {
-        for (StorageMeasurement measure : mAllMeasures) {
-            measure.invalidate();
-            measure.measure();
-        }
+        mMeasure.invalidate();
+        mMeasure.measure();
     }
 
     public void onResume() {
-        for (StorageMeasurement measure : mAllMeasures) {
-            measure.setReceiver(this);
-        }
+        mMeasure.setReceiver(mReceiver);
         measure();
     }
 
@@ -467,30 +373,25 @@
     }
 
     public void onPause() {
-        for (StorageMeasurement measure : mAllMeasures) {
-            measure.cleanUp();
-        }
+        mMeasure.cleanUp();
     }
 
     private String formatSize(long size) {
         return Formatter.formatFileSize(getContext(), size);
     }
 
-    @Override
-    public void updateApproximate(StorageMeasurement meas, Bundle bundle) {
-        final Message message = mUpdateHandler.obtainMessage(MSG_UI_UPDATE_APPROXIMATE);
-        message.obj = meas.getUser();
-        message.setData(bundle);
-        mUpdateHandler.sendMessage(message);
-    }
+    private MeasurementReceiver mReceiver = new MeasurementReceiver() {
+        @Override
+        public void updateApproximate(StorageMeasurement meas, long totalSize, long availSize) {
+            mUpdateHandler.obtainMessage(MSG_UI_UPDATE_APPROXIMATE, new long[] {
+                    totalSize, availSize }).sendToTarget();
+        }
 
-    @Override
-    public void updateExact(StorageMeasurement meas, Bundle bundle) {
-        final Message message = mUpdateHandler.obtainMessage(MSG_UI_UPDATE_EXACT);
-        message.obj = meas.getUser();
-        message.setData(bundle);
-        mUpdateHandler.sendMessage(message);
-    }
+        @Override
+        public void updateDetails(StorageMeasurement meas, MeasurementDetails details) {
+            mUpdateHandler.obtainMessage(MSG_UI_UPDATE_DETAILS, details).sendToTarget();
+        }
+    };
 
     public boolean mountToggleClicked(Preference preference) {
         return preference == mMountTogglePreference;
@@ -507,27 +408,25 @@
             intent = new Intent(Intent.ACTION_VIEW);
             intent.setClass(getContext(), com.android.settings.MediaFormat.class);
             intent.putExtra(StorageVolume.EXTRA_STORAGE_VOLUME, mVolume);
-        } else if (KEY_APPLICATIONS.equals(key)) {
+        } else if (pref == mItemApps) {
             intent = new Intent(Intent.ACTION_MANAGE_PACKAGE_STORAGE);
             intent.setClass(getContext(),
                     com.android.settings.Settings.ManageApplicationsActivity.class);
-        } else if (KEY_DOWNLOADS.equals(key)) {
+        } else if (pref == mItemDownloads) {
             intent = new Intent(DownloadManager.ACTION_VIEW_DOWNLOADS).putExtra(
                     DownloadManager.INTENT_EXTRAS_SORT_BY_SIZE, true);
-        } else if (KEY_MUSIC.equals(key)) {
+        } else if (pref == mItemMusic) {
             intent = new Intent(Intent.ACTION_GET_CONTENT);
             intent.setType("audio/mp3");
-        } else if (KEY_DCIM.equals(key)) {
+        } else if (pref == mItemDcim) {
             intent = new Intent(Intent.ACTION_VIEW);
             intent.putExtra(Intent.EXTRA_LOCAL_ONLY, true);
             // TODO Create a Videos category, type = vnd.android.cursor.dir/video
             intent.setType("vnd.android.cursor.dir/image");
-        } else if (KEY_MISC.equals(key)) {
+        } else if (pref == mItemMisc) {
             Context context = getContext().getApplicationContext();
-            if (mLocalMeasure.getMiscSize() > 0) {
-                intent = new Intent(context, MiscFilesHandler.class);
-                intent.putExtra(StorageVolume.EXTRA_STORAGE_VOLUME, mVolume);
-            }
+            intent = new Intent(context, MiscFilesHandler.class);
+            intent.putExtra(StorageVolume.EXTRA_STORAGE_VOLUME, mVolume);
         }
 
         return intent;
@@ -550,7 +449,6 @@
         }
     }
 
-
     /**
      * Return list of other users, excluding the current user.
      */
diff --git a/src/com/android/settings/fuelgauge/BatterySipper.java b/src/com/android/settings/fuelgauge/BatterySipper.java
index dbd664a..f11d6ca 100644
--- a/src/com/android/settings/fuelgauge/BatterySipper.java
+++ b/src/com/android/settings/fuelgauge/BatterySipper.java
@@ -107,7 +107,6 @@
             return;
         }
         PackageManager pm = mContext.getPackageManager();
-        final Drawable defaultActivityIcon = pm.getDefaultActivityIcon();
         String[] packages = pm.getPackagesForUid(uid);
         icon = pm.getDefaultActivityIcon();
         if (packages == null) {
diff --git a/src/com/android/settings/fuelgauge/PowerGaugePreference.java b/src/com/android/settings/fuelgauge/PowerGaugePreference.java
index 7b11ae1..c8bfa21 100644
--- a/src/com/android/settings/fuelgauge/PowerGaugePreference.java
+++ b/src/com/android/settings/fuelgauge/PowerGaugePreference.java
@@ -17,6 +17,7 @@
 package com.android.settings.fuelgauge;
 
 import android.content.Context;
+import android.graphics.drawable.ColorDrawable;
 import android.graphics.drawable.Drawable;
 import android.preference.Preference;
 import android.view.View;
@@ -37,7 +38,7 @@
     public PowerGaugePreference(Context context, Drawable icon, BatterySipper info) {
         super(context);
         setLayoutResource(R.layout.app_percentage_item);
-        setIcon(icon);
+        setIcon(icon != null ? icon : new ColorDrawable(0));
         mInfo = info;
     }
 
diff --git a/src/com/android/settings/fuelgauge/PowerUsageDetail.java b/src/com/android/settings/fuelgauge/PowerUsageDetail.java
index 79cbac6..bb96ca9 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageDetail.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageDetail.java
@@ -62,7 +62,8 @@
         WIFI,
         BLUETOOTH,
         SCREEN,
-        APP
+        APP,
+        USER
     }
 
     // Note: Must match the sequence of the DrainType
@@ -73,7 +74,8 @@
         R.string.battery_desc_wifi,
         R.string.battery_desc_bluetooth,
         R.string.battery_desc_display,
-        R.string.battery_desc_apps
+        R.string.battery_desc_apps,
+        R.string.battery_desc_users,
     };
 
     public static final int ACTION_DISPLAY_SETTINGS = 1;
diff --git a/src/com/android/settings/fuelgauge/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
index ab2c891..173efef 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageSummary.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
@@ -20,6 +20,8 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
+import android.content.pm.UserInfo;
+import android.graphics.drawable.Drawable;
 import android.hardware.SensorManager;
 import android.net.Uri;
 import android.os.BatteryStats;
@@ -32,6 +34,8 @@
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.os.SystemClock;
+import android.os.UserHandle;
+import android.os.UserManager;
 import android.preference.Preference;
 import android.preference.PreferenceActivity;
 import android.preference.PreferenceFragment;
@@ -79,10 +83,14 @@
     private static BatteryStatsImpl sStatsXfer;
 
     IBatteryStats mBatteryInfo;
+    UserManager mUm;
     BatteryStatsImpl mStats;
     private final List<BatterySipper> mUsageList = new ArrayList<BatterySipper>();
     private final List<BatterySipper> mWifiSippers = new ArrayList<BatterySipper>();
     private final List<BatterySipper> mBluetoothSippers = new ArrayList<BatterySipper>();
+    private final SparseArray<List<BatterySipper>> mUserSippers
+            = new SparseArray<List<BatterySipper>>();
+    private final SparseArray<Double> mUserPower = new SparseArray<Double>();
 
     private PreferenceGroup mAppListGroup;
     private Preference mBatteryStatusPref;
@@ -134,6 +142,7 @@
         addPreferencesFromResource(R.xml.power_usage_summary);
         mBatteryInfo = IBatteryStats.Stub.asInterface(
                 ServiceManager.getService("batteryinfo"));
+        mUm = (UserManager)getActivity().getSystemService(Context.USER_SERVICE);
         mAppListGroup = (PreferenceGroup) findPreference(KEY_APP_LIST);
         mBatteryStatusPref = mAppListGroup.findPreference(KEY_BATTERY_STATUS);
         mPowerProfile = new PowerProfile(getActivity());
@@ -204,6 +213,7 @@
         double[] values;
         switch (sipper.drainType) {
             case APP:
+            case USER:
             {
                 Uid uid = sipper.uidObj;
                 types = new int[] {
@@ -229,15 +239,18 @@
                     0
                 };
 
-                Writer result = new StringWriter();
-                PrintWriter printWriter = new PrintWriter(result);
-                mStats.dumpLocked(printWriter, "", mStatsType, uid.getUid());
-                args.putString(PowerUsageDetail.EXTRA_REPORT_DETAILS, result.toString());
-                
-                result = new StringWriter();
-                printWriter = new PrintWriter(result);
-                mStats.dumpCheckinLocked(printWriter, mStatsType, uid.getUid());
-                args.putString(PowerUsageDetail.EXTRA_REPORT_CHECKIN_DETAILS, result.toString());
+                if (sipper.drainType == DrainType.APP) {
+                    Writer result = new StringWriter();
+                    PrintWriter printWriter = new PrintWriter(result);
+                    mStats.dumpLocked(printWriter, "", mStatsType, uid.getUid());
+                    args.putString(PowerUsageDetail.EXTRA_REPORT_DETAILS, result.toString());
+
+                    result = new StringWriter();
+                    printWriter = new PrintWriter(result);
+                    mStats.dumpCheckinLocked(printWriter, mStatsType, uid.getUid());
+                    args.putString(PowerUsageDetail.EXTRA_REPORT_CHECKIN_DETAILS,
+                            result.toString());
+                }
             }
             break;
             case CELL:
@@ -373,6 +386,8 @@
         mUsageList.clear();
         mWifiSippers.clear();
         mBluetoothSippers.clear();
+        mUserSippers.clear();
+        mUserPower.clear();
         mAppListGroup.setOrderingAsAdded(false);
 
         mBatteryStatusPref.setOrder(-2);
@@ -570,6 +585,8 @@
             if (DEBUG) Log.i(TAG, String.format("UID %d total power=%.2f", u.getUid(), power));
 
             // Add the app to the list if it is consuming power
+            boolean isOtherUser = false;
+            final int userId = UserHandle.getUserId(u.getUid());
             if (power != 0 || u.getUid() == 0) {
                 BatterySipper app = new BatterySipper(getActivity(), mRequestQueue, mHandler,
                         packageWithHighestDrain, DrainType.APP, 0, u,
@@ -585,6 +602,15 @@
                     mWifiSippers.add(app);
                 } else if (u.getUid() == Process.BLUETOOTH_GID) {
                     mBluetoothSippers.add(app);
+                } else if (userId != UserHandle.myUserId()
+                        && UserHandle.getAppId(u.getUid()) >= Process.FIRST_APPLICATION_UID) {
+                    isOtherUser = true;
+                    List<BatterySipper> list = mUserSippers.get(userId);
+                    if (list == null) {
+                        list = new ArrayList<BatterySipper>();
+                        mUserSippers.put(userId, list);
+                    }
+                    list.add(app);
                 } else {
                     mUsageList.add(app);
                 }
@@ -592,13 +618,23 @@
                     osApp = app;
                 }
             }
-            if (u.getUid() == Process.WIFI_UID) {
-                mWifiPower += power;
-            } else if (u.getUid() == Process.BLUETOOTH_GID) {
-                mBluetoothPower += power;
-            } else {
-                if (power > mMaxPower) mMaxPower = power;
-                mTotalPower += power;
+            if (power != 0) {
+                if (u.getUid() == Process.WIFI_UID) {
+                    mWifiPower += power;
+                } else if (u.getUid() == Process.BLUETOOTH_GID) {
+                    mBluetoothPower += power;
+                } else if (isOtherUser) {
+                    Double userPower = mUserPower.get(userId);
+                    if (userPower == null) {
+                        userPower = power;
+                    } else {
+                        userPower += power;
+                    }
+                    mUserPower.put(userId, userPower);
+                } else {
+                    if (power > mMaxPower) mMaxPower = power;
+                    mTotalPower += power;
+                }
             }
         }
 
@@ -725,6 +761,32 @@
         aggregateSippers(bs, mBluetoothSippers, "Bluetooth");
     }
 
+    private void addUserUsage() {
+        for (int i=0; i<mUserSippers.size(); i++) {
+            final int userId = mUserSippers.keyAt(i);
+            final List<BatterySipper> sippers = mUserSippers.valueAt(i);
+            UserInfo info = mUm.getUserInfo(userId);
+            Drawable icon = null;
+            if (info != null && info.iconPath != null) {
+                try {
+                    icon = Drawable.createFromPath(info.iconPath);
+                } catch (Exception e) {
+                    Log.w(TAG, "Failure loading user picture " + info.iconPath, e);
+                }
+            }
+            String name = info != null ? info.name : null;
+            if (name == null) {
+                name = Integer.toString(info.id);
+            }
+            double power = mUserPower.get(userId);
+            String label = getActivity().getResources().getString(
+                    R.string.running_process_item_user_label, name);
+            BatterySipper bs = addEntry(label, DrainType.USER, 0, 0, power);
+            bs.icon = icon;
+            aggregateSippers(bs, sippers, "User");
+        }
+    }
+
     private double getAverageDataCost() {
         final long WIFI_BPS = 1000000; // TODO: Extract average bit rates from system 
         final long MOBILE_BPS = 200000; // TODO: Extract average bit rates from system
@@ -760,6 +822,7 @@
             Log.i(TAG, "Uptime since last unplugged = " + (timeSinceUnplugged / 1000));
         }
 
+        addUserUsage();
         addPhoneUsage(uSecNow);
         addScreenUsage(uSecNow);
         addWiFiUsage(uSecNow);
diff --git a/src/com/android/settings/nfc/AndroidBeam.java b/src/com/android/settings/nfc/AndroidBeam.java
index bf02c13..032681a 100644
--- a/src/com/android/settings/nfc/AndroidBeam.java
+++ b/src/com/android/settings/nfc/AndroidBeam.java
@@ -38,6 +38,7 @@
     private ImageView mImageView;
     private NfcAdapter mNfcAdapter;
     private Switch mActionBarSwitch;
+    private CharSequence mOldActivityTitle;
 
 
     @Override
@@ -49,7 +50,6 @@
 
         if (activity instanceof PreferenceActivity) {
             PreferenceActivity preferenceActivity = (PreferenceActivity) activity;
-            if (preferenceActivity.onIsHidingHeaders() || !preferenceActivity.onIsMultiPane()) {
                 final int padding = activity.getResources().getDimensionPixelSize(
                         R.dimen.action_bar_switch_padding);
                 mActionBarSwitch.setPadding(0, 0, padding, 0);
@@ -59,8 +59,10 @@
                         ActionBar.LayoutParams.WRAP_CONTENT,
                         ActionBar.LayoutParams.WRAP_CONTENT,
                         Gravity.CENTER_VERTICAL | Gravity.END));
-                activity.getActionBar().setTitle(R.string.android_beam_settings_title);
-            }
+                if (!preferenceActivity.onIsMultiPane() || preferenceActivity.onIsHidingHeaders()) {
+                    mOldActivityTitle = getActivity().getTitle();
+                    activity.getActionBar().setTitle(R.string.android_beam_settings_title);
+                }
         }
 
         mActionBarSwitch.setOnCheckedChangeListener(this);
@@ -76,6 +78,14 @@
         initView(mView);
         return mView;
     }
+    @Override
+    public void onDestroyView() {
+        getActivity().getActionBar().setCustomView(null);
+        if (mOldActivityTitle != null) {
+            getActivity().getActionBar().setTitle(mOldActivityTitle);
+        }
+        super.onDestroyView();
+    }
 
     private void initView(View view) {
         mActionBarSwitch.setOnCheckedChangeListener(this);
diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java
index 14b2833..fe1bd90 100644
--- a/src/com/android/settings/users/UserSettings.java
+++ b/src/com/android/settings/users/UserSettings.java
@@ -423,6 +423,9 @@
         if (pref == mMePreference) {
             Intent editProfile = new Intent(Intent.ACTION_EDIT);
             editProfile.setData(ContactsContract.Profile.CONTENT_URI);
+            // To make sure that it returns back here when done
+            // TODO: Make this a proper API
+            editProfile.putExtra("finishActivityOnSaveCompleted", true);
             startActivity(editProfile);
         }
         return false;
diff --git a/src/com/android/settings/wifi/AdvancedWifiSettings.java b/src/com/android/settings/wifi/AdvancedWifiSettings.java
index c9bf3bc..f574808 100644
--- a/src/com/android/settings/wifi/AdvancedWifiSettings.java
+++ b/src/com/android/settings/wifi/AdvancedWifiSettings.java
@@ -113,9 +113,9 @@
                 sleepPolicyPref.setEntries(R.array.wifi_sleep_policy_entries_wifi_only);
             }
             sleepPolicyPref.setOnPreferenceChangeListener(this);
-            int value = Settings.System.getInt(getContentResolver(),
-                    Settings.System.WIFI_SLEEP_POLICY,
-                    Settings.System.WIFI_SLEEP_POLICY_NEVER);
+            int value = Settings.Global.getInt(getContentResolver(),
+                    Settings.Global.WIFI_SLEEP_POLICY,
+                    Settings.Global.WIFI_SLEEP_POLICY_NEVER);
             String stringValue = String.valueOf(value);
             sleepPolicyPref.setValue(stringValue);
             updateSleepPolicySummary(sleepPolicyPref, stringValue);
@@ -181,7 +181,7 @@
         if (KEY_SLEEP_POLICY.equals(key)) {
             try {
                 String stringValue = (String) newValue;
-                Settings.System.putInt(getContentResolver(), Settings.System.WIFI_SLEEP_POLICY,
+                Settings.Global.putInt(getContentResolver(), Settings.Global.WIFI_SLEEP_POLICY,
                         Integer.parseInt(stringValue));
                 updateSleepPolicySummary(preference, stringValue);
             } catch (NumberFormatException e) {
diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java
index a4ee589..b28aef3 100644
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ b/src/com/android/settings/wifi/WifiSettings.java
@@ -239,7 +239,6 @@
         // 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.
-
         mP2pSupported = getPackageManager().hasSystemFeature(PackageManager.FEATURE_WIFI_DIRECT);
         mWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
 
@@ -295,6 +294,7 @@
                     getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
             if (connectivity != null
                     && connectivity.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnected()) {
+                super.onActivityCreated(savedInstanceState);
                 activity.finish();
                 return;
             }
