diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 57d82e7..bb4983b 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -21,6 +21,8 @@
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
     <uses-permission android:name="android.permission.MANAGE_USERS" />
+    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
+    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
     <uses-permission android:name="android.permission.INSTALL_PACKAGES"/>
     <uses-permission android:name="android.permission.DELETE_PACKAGES"/>
     <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
@@ -48,6 +50,7 @@
     <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
 
     <uses-permission android:name="android.permission.PERFORM_CDMA_PROVISIONING" />
+    <uses-permission android:name="android.permission.ACCESS_PDB_STATE" />
 
     <application
         android:allowClearUserData="false"
@@ -65,49 +68,57 @@
             android:immersive="true"
             android:launchMode="singleTop"
             android:theme="@style/SetupWorkSpaceTheme">
-            <intent-filter>
+            <intent-filter android:priority="10">
                 <action android:name="android.nfc.action.NDEF_DISCOVERED" />
                 <category android:name="android.intent.category.DEFAULT" />
                 <data android:mimeType="application/com.android.managedprovisioning" />
             </intent-filter>
             <!-- Do not change the following action. -->
-            <intent-filter>
+            <intent-filter android:priority="10">
                 <action android:name="com.android.managedprovisioning.ACTION_PROVISION_MANAGED_DEVICE" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
         </activity>
         <activity
-            android:name="ManagedProvisioningActivity"
+            android:name="ProfileOwnerPreProvisioningActivity"
             android:excludeFromRecents="true"
             android:immersive="true"
             android:launchMode="singleTop"
             android:theme="@style/SetupWorkSpaceTheme">
-            <intent-filter>
-                <action android:name="android.app.action.ACTION_PROVISION_MANAGED_PROFILE" />
+            <intent-filter android:priority="10">
+                <action android:name="android.app.action.PROVISION_MANAGED_PROFILE" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
         </activity>
+        <activity
+            android:name="ProfileOwnerProvisioningActivity"
+            android:excludeFromRecents="true"
+            android:immersive="true"
+            android:launchMode="singleTop"
+            android:theme="@style/SetupWorkSpaceTheme">
+        </activity>
         <activity-alias
-            android:name="ManagedProvisioningActivityNoCallerCheck"
-            android:targetActivity="ManagedProvisioningActivity"
+            android:name="ProfileOwnerProvisioningActivityNoCallerCheck"
+            android:targetActivity="ProfileOwnerPreProvisioningActivity"
             android:permission="android.permission.MANAGE_USERS"
             android:exported="true">
         </activity-alias>
         <activity
-            android:name="UserConsentActivity"
-            android:immersive="true"
-            android:launchMode="singleTop"
-            android:theme="@style/SetupWorkSpaceTheme" >
-        </activity>
-        <activity
             android:name="EncryptDeviceActivity"
             android:immersive="true"
             android:launchMode="singleTop"
-            android:theme="@style/SetupWorkSpaceTheme" >
+            android:theme="@style/SetupWorkSpaceTheme">
+        </activity>
+
+        <activity
+            android:name="WebActivity"
+            android:immersive="true"
+            android:launchMode="singleTop"
+            android:theme="@style/SetupWorkSpaceTheme">
         </activity>
 
         <service
-            android:name="ManagedProvisioningService" >
+            android:name="ProfileOwnerProvisioningService" >
         </service>
         <service
             android:name="DeviceOwnerProvisioningService" >
@@ -116,15 +127,26 @@
         <receiver android:name="com.android.managedprovisioning.BootReminder">
             <intent-filter>
                 <action android:name="android.intent.action.BOOT_COMPLETED" />
-                <action android:name="android.intent.action.PRE_BOOT_COMPLETED" />
             </intent-filter>
         </receiver>
 
-        <receiver android:name="com.android.managedprovisioning.CrossProfileIntentFiltersHelper$FiltersReseter">
+        <receiver android:name="com.android.managedprovisioning.PreBootListener">
             <intent-filter>
                 <action android:name="android.intent.action.PRE_BOOT_COMPLETED" />
             </intent-filter>
         </receiver>
 
+        <activity android:name="com.android.managedprovisioning.HomeReceiverActivity"
+                  android:theme="@android:style/Theme.NoDisplay"
+                  android:noHistory="true"
+                  android:excludeFromRecents="true"
+                  android:enabled="false">
+            <intent-filter android:priority="2">
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.HOME" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+
     </application>
 </manifest>
diff --git a/res/layout-large-land/user_consent.xml b/res/layout-large-land/user_consent.xml
index ca568e1..b3d7c43 100644
--- a/res/layout-large-land/user_consent.xml
+++ b/res/layout-large-land/user_consent.xml
@@ -29,21 +29,6 @@
             android:layout_weight="6"
             android:layout_width="0dp"
             android:layout_height="fill_parent"/>
-        <!-- Progress indicator that replaces main view during provisioning. -->
-        <LinearLayout
-            android:id="@+id/progress_container"
-            android:layout_weight="8"
-            android:layout_width="0dp"
-            android:layout_height="fill_parent"
-            android:visibility="gone"
-            style="@style/MainTextContainer" >
-            <TextView
-                android:text="@string/setting_up_workspace"
-                style="@style/MainText"/>
-            <ProgressBar
-                style="@style/ProgressBar"/>
-        </LinearLayout>
-        <!-- Main view -->
         <include layout="@layout/user_consent_main_text"
             android:layout_weight="8"
             android:layout_width="0dp"
diff --git a/res/layout/learn_more_dialog.xml b/res/layout/learn_more_dialog.xml
new file mode 100644
index 0000000..f8d5676
--- /dev/null
+++ b/res/layout/learn_more_dialog.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    style="@style/DialogFragmentTextContainer">
+
+    <ScrollView
+        android:layout_weight="1"
+        android:layout_height="0dp"
+        style="@style/ScrollView">
+
+        <LinearLayout
+            android:layout_height="wrap_content"
+            android:layout_width="fill_parent"
+            android:orientation="vertical">
+
+            <TextView
+                android:id="@+id/learn_more_text1"
+                style="@style/MainText"/>
+
+            <TextView
+                android:id="@+id/learn_more_text2"
+                android:text="@string/contact_your_admin_for_more_info"
+                style="@style/MainText"/>
+
+            <TextView
+                android:id="@+id/learn_more_link"
+                android:textColor="@color/colored_button"
+                android:text="@string/learn_more_link"
+                style="@style/MainText"/>
+
+        </LinearLayout>
+
+    </ScrollView>
+
+    <RelativeLayout
+        android:layout_width="fill_parent"
+        android:layout_height="@dimen/row_height"
+        android:paddingTop="@dimen/row_padding_top">
+
+        <Button
+            android:id="@+id/positive_button"
+            android:layout_alignParentRight="true"
+            android:layout_alignParentBottom="true"
+            android:text="@string/ok_setup"
+            android:textColor="@color/colored_button"
+            style="@style/TransparentButton" />
+
+        <Button
+            android:id="@+id/negative_button"
+            android:layout_alignParentBottom="true"
+            android:layout_toLeftOf="@id/positive_button"
+            android:text="@string/cancel_setup"
+            style="@style/TransparentButton" />
+
+    </RelativeLayout>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/progress.xml b/res/layout/progress.xml
index 802bdab..34d25e3 100644
--- a/res/layout/progress.xml
+++ b/res/layout/progress.xml
@@ -18,9 +18,7 @@
 -->
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="fill_parent"
-    android:layout_height="fill_parent"
-    android:orientation="vertical">
+    style="@style/Container" >
     <include layout="@layout/header_and_title"/>
     <LinearLayout
         style="@style/MainTextContainer">
diff --git a/res/layout/user_consent.xml b/res/layout/user_consent.xml
index 2b09712..2ccdfa5 100644
--- a/res/layout/user_consent.xml
+++ b/res/layout/user_consent.xml
@@ -20,19 +20,5 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     style="@style/Container" >
     <include layout="@layout/header_and_title"/>
-
-    <!-- Progress indicator that replaces main view during provisioning. -->
-    <LinearLayout
-        android:id="@+id/progress_container"
-        style="@style/MainTextContainer"
-        android:visibility="gone" >
-        <TextView
-            android:text="@string/setting_up_workspace"
-            style="@style/MainText"/>
-        <ProgressBar
-            style="@style/ProgressBar"/>
-    </LinearLayout>
-
-    <!-- Main view -->
     <include layout="@layout/user_consent_main_text"/>
 </LinearLayout>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
new file mode 100644
index 0000000..847317a
--- /dev/null
+++ b/res/values-af/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Toestelopsteller"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Oeps!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Stel jou profiel op"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Jou organisasie beheer hierdie profiel en hou dit veilig. Jy beheer alle ander goed op jou toestel."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Die volgende program sal toegang tot hierdie profiel moet hê:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Stel op"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Stel tans jou werkprofiel op …"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Jou administrateur het die vermoë om instellings, korporatiewe toegang, programme en data wat met die profiel geassosieer word, insluitend netwerkaktiwiteit en jou toestel se ligginginligting, te monitor en te bestuur."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Jou administrateur het die vermoë om instellings, korporatiewe toegang, programme en data wat met hierdie toestel geassosieer word, insluitend netwerkaktiwiteit en jou toestel se ligginginligting, te monitor en te bestuur."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Kontak jou administrateur vir meer inligting, insluitend jou organisasie se privaatheidbeleide."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Kom meer te wete"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Kanselleer"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"Goed"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Werkprofiel"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Jy het reeds \'n werkprofiel op jou toestel. Wil jy dit te verwyder?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Is jy seker jy wil hierdie werkprofiel verwyder? Al sy data sal uitgevee word."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Verwyder"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Kanselleer"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Jy moet jou toestel enkripteer om voort te gaan om jou werkprofiel op te stel. Dit kan \'n ruk duur."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Kanselleer"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Enkripteer"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Enkripsie voltooi"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Raak om voort te gaan om jou werkprofiel op te stel"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Kon nie jou werkprofiel opstel nie. Kontak jou IT-afdeling of probeer later weer."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Jou toestel steun nie werkprofiele nie"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Werkprofiele moet deur die toesteleienaar opgestel word"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Hierdie lanseerderprogram steun nie jou werkprofiel nie. Jy moet oorskakel na \'n lanseerder wat versoenbaar is."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Kanselleer"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Gebruiker van werktoestel"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Stel jou toestel op"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Verwerk tans opstellingdata …"</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Koppel tans aan Wi-Fi …"</string>
+    <string name="progress_download" msgid="4995057798189799156">"Laai tans die administrasieprogram af …"</string>
+    <string name="progress_install" msgid="9169411715762296097">"Installeer tans die administrasieprogram …"</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Stel tans die toesteleienaar …"</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Hou op om op te stel?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Is jy seker jy wil stop om jou toestel se data op te stel en uit te vee?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Kanselleer"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"Goed"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Stel terug"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Kon nie jou toestel opstel nie. Kontak jou IT-afdeling."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Hierdie toestel is reeds opgestel"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Kon nie aan Wi-Fi koppel nie"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Kon nie die administrasieprogram gebruik nie weens \'n checksum-fout. Kontak jou IT-afdeling."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Kon nie die administrasieprogram aflaai nie"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Kan nie die administrasieprogram gebruik nie. Komponente ontbreek of dit is korrup. Kontak jou IT-afdeling."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Kon nie die administrasieprogram installeer nie"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Die administrasieprogram is nie op jou toestel geïnstalleer nie"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Hou op om op te stel?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Is jy seker jy wil ophou om op te stel?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Nee"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Ja"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Kanselleer tans …"</string>
+</resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
new file mode 100644
index 0000000..41a546c
--- /dev/null
+++ b/res/values-am/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"መሳሪያ አቅራቢ"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"ውይ!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"የእርስዎን መገለጫ ያዋቅሩ"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"ድርጅትዎ ይህን መገለጫ ይቆጣጠራል፣ እና ደህንነቱን ይጠብቃል። መሣሪያዎ ላይ ያለውን የተቀረው ነገር እርስዎ ነዎት የሚቆጣጠሩት።"</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"የሚከተለው መተግበሪያ ይህን መገለጫ መድረስ ያስፈልገዋል።"</string>
+    <string name="set_up" msgid="7012862095553564169">"ያዋቅሩ"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"የስራ መገለጫዎን በማዋቀር ላይ..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"የእርስዎ አስተዳዳሪ የአውታረ መረብ እንቅስቃሴን እና የመሣሪያዎ የአካባቢ መረጃን ጨምሮ ከዚህ መሣሪያ ጋር የተጎዳኙ ቅንብሮችን፣ የድርጅት መዳረሻ፣ መተግበሪያዎችን እና ውሂብ የመከታተል እና የማቀናበር  ችሎታ አለው።"</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"የእርስዎ አስተዳዳሪ የአውታረ መረብ እንቅስቃሴ እና የመሣሪያዎ አካባቢያዊ መረጃን ጨምሮ ከዚህ መሣሪያ ጋር የተጎዳኙ ቅንብሮችን፣ የኮርፖሬት መዳረሻ፣ መተግበሪያዎች፣ እና ውሂብ የመከታተል እና የማቀናበር ችሎታ አለው።"</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"የድርጅትዎ ግላዊነት መመሪያዎችን ጨምሮ ተጨማሪ መረጃ ለማግኘት አስተዳዳሪዎን ያነጋግሩ።"</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"ተጨማሪ ለመረዳት"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"ይቅር"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"እሺ"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"የስራ መገለጫ"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"የስራ መገለጫ አስቀድሞ በመሣሪያዎ ላይ አለ። ሊያስወግዱት ይፈልጋሉ?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"እርግጠኛ ነዎት ይህን የስራ መገለጫ ማስወገድ ይፈልጋሉ? ሁሉም ውሂቡ ይሰረዛል።"</string>
+    <string name="delete_profile" msgid="7107020982626129151">"አስወግድ"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"ይቅር"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"የስራ መገለጫዎን ማዋቀር ለመቀጠል መሣሪያዎን ማመስጠር አለብዎት። ይሄ የተወሰነ ጊዜ ሊወስድ ይችላል።"</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"ይቅር"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"አመስጥር"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"ማመስጠር ተጠናቅቋል"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"የስራ መገለጫዎን ማዋቀሩን ለመቀጠል ይንኩ"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"የስራ መገለጫዎን ማዋቀር አልተቻለም። የአይቲ መምሪያዎን ያነጋግሩ ወይም ቆይተው እንደገና ይሞክሩ።"</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"መሣሪያዎ የስራ መገለጫዎችን አይደግፍም"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"የስራ መገለጫዎች በመሣሪያው ባለቤት ነው መዋቀር ያለባቸው"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"የስራ መገለጫዎ በዚህ የማስጀመሪያ መተግበሪያ ውስጥ የሚደገፍ አይደለም። ተኳኋኝ ወደሆነ ማስጀመሪያ መቀየር ይኖርብዎታል።"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"ይቅር"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"እሺ"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"የስራ መሣሪያ ተጠቃሚ"</string>
+    <string name="setup_device" msgid="6725265673245816366">"መሣሪያዎን ያዋቅሩ"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"የውቅር ውሂብ በመስራት ላይ..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"ከWi-Fi ጋር በመገናኘት ላይ..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"የአስተዳዳሪ መተግበሪያውን በማውረድ ላይ..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"የአስተዳዳሪ መተግበሪያውን በመጫን ላይ..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"የመሣሪያውን ባለቤት በማዋቀር ላይ..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"ማዋቀር ይቁም?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"እርግጠኛ ነዎት ማዋቀር አቁመው የመሣሪያዎ ውሂብ መደምሰስ ይፈልጋሉ?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"ይቅር"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"እሺ"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"ዳግም አስጀምር"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"መሣሪያዎን ማዋቀር አልተቻለም። የአይቲ መምሪያዎን ያነጋግሩ።"</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"ይህ መሣሪያ አስቀድሞ ተዋቅሯል"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"ከWi-Fi ጋር መገናኘት አልተቻለም"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"በማረጋገጫ ድምር ስህተት ምክንያት የአስተዳዳሪ መተግበሪያውን መጠቀም አልተቻለም። የአይቲ መምሪያዎን ያነጋግሩ።"</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"የአስተዳዳሪ መተግበሪያውን ማውረድ አልተችላእም"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"የአስተዳዳሪ መተግበሪያውን መጠቀም አይቻልም። ክፍሎች ይጎድሉታል ወይም ተበላሽቷል። የአይቲ መምሪያዎን ያነጋግሩ።"</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"የአስተዳዳሪ መተግበሪያውን መጫን አልተቻለም"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"የአስተዳዳር መተግበሪያው በመሣሪያዎ ላይ አልተጫነም"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"ማዋቀር ይቁም?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"እርግጠኛ ነዎት ማዋቀር ማቆም ይፈልጋሉ?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"አይ"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"አዎ"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"በመሰረዝ ላይ..."</string>
+</resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
new file mode 100644
index 0000000..ff3c98a
--- /dev/null
+++ b/res/values-ar/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"مدير الجهاز"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"عفوًا!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"إعداد الملف الشخصي"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"تتحكم منظمتك في هذا الملف الشخصي وتحافظ على أمانه. بينما تتحكم أنت في كل شيء آخر على جهازك."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"سيحتاج التطبيق التالي إلى الدخول إلى هذا الملف الشخصي:"</string>
+    <string name="set_up" msgid="7012862095553564169">"إعداد"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"جارٍ إعداد الملف الشخصي للعمل…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"يمتلك المشرف إمكانية مراقبة وإدارة كل من الإعدادات والدخول إلى المؤسسة والتطبيقات والبيانات المقترنة بالملف الشخصي، بما في ذلك أنشطة الشبكة ومعلومات موقع الجهاز."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"لدى المشرف إمكانية مراقبة وإدارة الإعدادات والدخول إلى المؤسسة والتطبيقات والبيانات المقترنة بهذا الجهاز، بما في ذلك أنشطة الشبكة ومعلومات موقع الجهاز."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"اتصل بالمشرف للحصول على مزيد من المعلومات، بما في ذلك سياسات الخصوصية الخاصة بمنظمتك."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"مزيد من المعلومات"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"إلغاء"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"موافق"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"الملف الشخصي للعمل"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"لديك فعلاً ملف شخصي للعمل على الجهاز. هل تريد إزالته؟"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"هل تريد بالتأكيد إزالة هذا الملف الشخصي للعمل؟ سيتم حذف جميع بياناته."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"إزالة"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"إلغاء"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"لمتابعة إعداد الملف الشخصي للعمل، يجب عليك تشفير الجهاز. قد يستغرق هذا بعض الوقت."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"إلغاء"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"تشفير"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"اكتمل التشفير"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"المس لمتابعة إعداد الملف الشخصي للعمل"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"تعذر إعداد ملف العمل. يمكنك الاتصال بقسم تكنولوجيا المعلومات أو إعادة المحاولة لاحقًا."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"جهازك ليس متوافقًا مع الملفات الشخصية للعمل"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"يجب أن يتم إعداد الملفات الشخصية للعمل بواسطة مالك الجهاز"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"لا يتوافق الملف الشخصي للعمل مع تطبيق المشغّل هذا. يجب عليك التبديل إلى تطبيق مشغّل متوافق."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"إلغاء"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"موافق"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"مستخدم جهاز العمل"</string>
+    <string name="setup_device" msgid="6725265673245816366">"إعداد الجهاز"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"جارٍ معالجة بيانات الإعداد…"</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"‏جارٍ الاتصال بشبكة Wi-Fi..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"جارٍ تنزيل تطبيق المشرف…"</string>
+    <string name="progress_install" msgid="9169411715762296097">"جارٍ تثبيت تطبيق المشرف…"</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"جارٍ تعيين مالك الجهاز..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"هل تريد إيقاف الإعداد؟"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"هل تريد بالتأكيد إيقاف الإعداد ومحو بيانات الجهاز؟"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"إلغاء"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"حسنًا"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"إعادة التعيين"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"تعذر إعداد الجهاز. يمكنك الاتصال بقسم تكنولوجيا المعلومات."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"سبق إعداد هذا الجهاز"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"‏تعذر الاتصال بـ Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"تعذر استخدام تطبيق المشرف بسبب خطأ في تدقيق المجموع. يمكنك الاتصال بقسم تكنولوجيا المعلومات."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"يتعذر تنزيل التطبيق الإداري"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"يتعذر استخدام تطبيق المشرف. بعض المكونات مفقودة أو تالفة. يمكنك الاتصال بقسم تكنولوجيا المعلومات."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"يتعذر تثبيت التطبيق الإداري"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"لم يتم تثبيت التطبيق الإداري على جهازك"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"هل تريد إيقاف الإعداد؟"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"هل تريد بالتأكيد إيقاف الإعداد؟"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"لا"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"نعم"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"جارٍ الإلغاء..."</string>
+</resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
new file mode 100644
index 0000000..7bbac2d
--- /dev/null
+++ b/res/values-bg/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Device Provisioner"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Ами сега!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Настройте потребителския си профил"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Организацията ви контролира този потребителски профил и се грижи за сигурността му. Вие управлявате всичко останало на устройството си."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Следното приложение ще трябва да има достъп до този потребителски профил:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Настройване"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Служебният ви потребителски профил се настройва..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Администраторът ви има възможност да наблюдава и управлява настройките, корпоративния достъп, приложенията и данните, свързани с потребителския профил, включително мрежовата активност и информацията за местоположението на устройството ви."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Администраторът ви има възможност да наблюдава и управлява настройките, корпоративния достъп, приложенията и данните, свързани с това устройство, включително мрежовата активност и информацията за местоположението му."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Свържете се с администратора си за още информация, включително относно правилата за поверителност на организацията си."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Научете повече"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Отказ"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"ОK"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Служебен потребителски профил"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Вече имате служебен потребителски профил на устройството си. Искате ли да го премахнете?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Наистина ли искате да премахнете този служебен потребителски профил? Всичките му данни ще бъдат изтрити."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Премахване"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Отказ"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"За да продължите с настройването на служебния си потребителски профил, трябва да шифровате устройството си. Това може да отнеме известно време."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Отказ"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Шифроване"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Шифроването завърши"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Докоснете, за да продължите с настройването на служебния си потребителски профил"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Служебният ви потребителски профил не можа да се настрои. Свържете се с отдела си за информационни технологии или опитайте отново по-късно."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Устройството ви не поддържа служебни потребителски профили"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Служебните потребителски профили трябва да бъдат настроени от собственика на устройството"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Служебният ви потребителски профил не се поддържа от това приложение за стартов панел. Трябва да превключите към съвместим панел."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Отказ"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Потребител на служебното устройство"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Настройване на устройството ви"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Данните за настройването се обработват..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Установява се връзка с Wi-Fi..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"Приложението за администриране се изтегля..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"Прилож. за администриране се инсталира..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Собственикът на устройството се задава..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Да се спре ли настройването?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Наистина ли искате да спрете настройването и да изтриете данните на устройството си?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Отказ"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"ОK"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Нулиране"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Устройството ви не можа да се настрои. Свържете се с отдела си за информационни технологии."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Това устройство вече е настроено"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Не можа да се установи връзка с Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Приложението за администриране не можа да се използва поради грешка в контролната сума. Свържете се с отдела си за информационни технологии."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Приложението за администриране не можа да се изтегли"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Приложението за администриране не може да се използва. В него липсват компоненти или то е повредено. Свържете се с отдела си за информационни технологии."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Приложението за администриране не можа да се инсталира"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Приложението за администриране не е инсталирано на устройството ви"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Да се спре ли настройването?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Наистина ли искате да спрете настройването?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Не"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Да"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Анулира се..."</string>
+</resources>
diff --git a/res/values-bn-rBD/strings.xml b/res/values-bn-rBD/strings.xml
new file mode 100644
index 0000000..9c29940
--- /dev/null
+++ b/res/values-bn-rBD/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"ডিভাইস প্রভিশনার"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"ওহো!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"আপনার প্রোফাইল সেট আপ করুন"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"আপনার প্রতিষ্ঠান এই প্রোফাইল নিয়ন্ত্রণ করে এবং একে সুরক্ষিত রাখে। আপনি আপনার ডিভাইসের বাকি সব কিছু নিয়ন্ত্রণ করেন।"</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"নিম্নোল্লিখিত অ্যাপ্লিকেশানটিকে এই প্রোফাইলটি অ্যাক্সেস করতে হবে:"</string>
+    <string name="set_up" msgid="7012862095553564169">"সেট আপ"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"আপনার কর্মস্থলের প্রোফাইল সেট আপ হচ্ছে..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"আপনার প্রশাসক নেটওয়ার্ক কার্যকলাপ ও আপনার ডিভাইসের অবস্থান সম্পর্কিত তথ্য সহ প্রোফাইলটির সাথে সম্পর্কিত সেটিংস, কর্পোরেট অ্যাক্সেস, অ্যাপ্লিকেশান এবং ডেটা নিরীক্ষণ ও পরিচালনা করতে সক্ষম৷"</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"আপনার প্রশাসক নেটওয়ার্ক কার্যকলাপ এবং আপনার ডিভাইসের অবস্থান সম্পর্কিত তথ্য সহ এই ডিভাইসের সাথে সম্পর্কিত সেটিংস, কর্পোরেট অ্যাক্সেস, অ্যাপ্লিকেশান এবং ডেটা নিরীক্ষণ ও পরিচালনা করতে সক্ষম৷"</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"আপনার প্রতিষ্ঠানের গোপনীয়তা নীতি সহ আরো তথ্যের জন্য আপনার প্রশাসকের সাথে যোগাযোগ করুন।"</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"আরো জানুন"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"বাতিল করুন"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"ঠিক আছে"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"কর্মস্থলের প্রোফাইল"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"আপনার ডিভাইসে ইতিমধ্যে একটি কর্মস্থলের প্রফাইল আছে। আপনি কি এটি সরাতে চান?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"আপনি কি নিশ্চিত আপনি কর্মস্থলের প্রফাইল সরাতে চান ? এর সব ডেটা মুছে ফেলা হবে।"</string>
+    <string name="delete_profile" msgid="7107020982626129151">"সরান"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"বাতিল করুন"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"সেট আপ অবিরত রাখতে, আপনাকে আপনার ডিভাইস এনক্রিপ্ট করতে হবে। এর জন্য কিছুক্ষণ সময় লাগবে।"</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"বাতিল করুন"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"এনক্রিপ্ট করুন"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"এনক্রিপশন সম্পূর্ণ"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"আপনার কর্মস্থলের প্রোফাইল সেট আপ করা অব্যাহত রাখতে স্পর্শ করুন।"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"আপনার কর্মস্থলের প্রোফাইলটি সেটআপ করা যায়নি। আপনার IT বিভাগের সাথে যোগাযোগ করুন অথবা পরে আবার চেষ্টা করুন।"</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"আপনার ডিভাইস কর্মস্থলের প্রোফাইলগুলি সমর্থন করে না"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"কর্মস্থলের প্রোফাইলটি ডিভাইসের ব্যবহারকারী মালিকের দ্বারা সেট আপ করতে হবে"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"আপনার কর্মস্থলের প্রোফাইল এই লঞ্চার অ্যাপ্লিকেশান দ্বারা সমর্থিত নয়। আপনাকে একটি সামঞ্জস্যপূর্ণ লঞ্চারে যেতে হবে।"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"বাতিল করুন"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"ঠিক আছে"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"কর্মস্থলের ডিভাইসের ব্যবহারকারী"</string>
+    <string name="setup_device" msgid="6725265673245816366">"আপনার ডিভাইস সেট আপ করুন"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"সেটআপ ডেটা প্রক্রিয়াকৃত হচ্ছে..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Wi-Fi এ সংযুক্ত হচ্ছে..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"প্রশাসক অ্যাপ্লিকেশান ডাউনলোড হচ্ছে..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"প্রশাসক অ্যাপ্লিকেশান ইনস্টল হচ্ছে..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"ডিভাইসের মালিক সেট করা হচ্ছে..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"সেট আপ করা বন্ধ করবেন?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"আপনি কি নিশ্চিত আপনি আপনার ডিভাইস সেট আপ করা বন্ধ করতে চান ও এর ডেটা সাফ করে ফেলতে চান?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"বাতিল করুন"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"ঠিক আছে"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"পুনরায় সেট করুন"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"আপনার ডিভাইস সেট আপ করা যায়নি। আপনার IT বিভাগের সাথে যোগাযোগ করুন।"</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"এই ডিভাইসটি ইতিমধ্যে সেট আপ হয়ে আছে"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi এর সাথে সংযুক্ত করা যায়নি"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"একটি চেকসাম ত্রুটির কারণে প্রশাসক অ্যাপ্লিকেশান ব্যবহার করা যায়নি। আপনার IT বিভাগের সাথে যোগাযোগ করুন।"</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"প্রশাসক অ্যাপ্লিকেশানটি ডাউনলোড করা যায়নি"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"প্রশাসক অ্যাপ্লিকেশান ব্যবহার করা যাচ্ছে না। এতে কিছু উপাদান অনুপস্থিত আছে বা এটি ক্ষতিগ্রস্ত হয়েছে। আপনার IT বিভাগের সাথে যোগাযোগ করুন।"</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"প্রশাসক অ্যাপ্লিকেশান ইনস্টল করা যায়নি।"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"আপনার ডিভাইসে প্রশাসক অ্যাপ্লিকেশানটি ইনস্টল করা নেই"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"সেটআপ করা বন্ধ করবেন?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"আপনি কি সেটআপ প্রক্রিয়া বন্ধ করার বিষয়ে নিশ্চিত?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"না"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"হ্যাঁ"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"বাতিল হচ্ছে..."</string>
+</resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
new file mode 100644
index 0000000..3a72f3e
--- /dev/null
+++ b/res/values-ca/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Administrador de dispositius"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Error"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Configuració del perfil"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"La teva organització controla aquest perfil i el manté protegit. L\'usuari controla la resta d\'elements del dispositiu."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Aquesta aplicació haurà d\'accedir al perfil:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Configura"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"S\'està configurant el perfil professional..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"L\'administrador pot supervisar i gestionar la configuració, l\'accés corporatiu, les aplicacions i les dades associades amb el perfil, inclosa l\'activitat de xarxa i la informació d\'ubicació del dispositiu."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"L\'administrador pot supervisar i gestionar la configuració, l\'accés corporatiu, les aplicacions i les dades associades amb aquest dispositiu, inclosa l\'activitat de xarxa i la informació d\'ubicació del dispositiu."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Contacta amb l\'administrador per obtenir més informació, incloses les polítiques de privadesa de la teva organització."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Més informació"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Cancel·la"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"D\'ACORD"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Perfil professional"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Ja tens un perfil professional al dispositiu. El vols suprimir?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Confirmes que vols suprimir aquest perfil professional? Totes les dades que contingui se suprimiran."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Suprimeix"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Cancel·la"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Per continuar amb la configuració del perfil professional, hauràs d\'encriptar el dispositiu. És possible que triguis una estona a fer-ho."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Cancel·la"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Encripta"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Encriptació completa"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Toca per continuar amb la configuració del perfil"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"No s\'ha pogut configurar el perfil professional. Contacta amb el departament de TI o prova-ho més tard."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"El dispositiu no és compatible amb els perfils professionals."</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"El propietari del dispositiu ha de configurar els perfils professionals."</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Aquesta aplicació de Launcher no admet el teu perfil professional. Has de fer servir un Launcher que sigui compatible."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Cancel·la"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"D\'acord"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Usuari del dispositiu de la feina"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Configuració del dispositiu"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"S\'estan processant dades de configuració..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"S\'està connectant a la Wi-Fi..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"S\'està baixant l\'aplicació d\'administració..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"S\'està instal·lant aplic. d\'administració..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"S\'està definint el propietari del disposit..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Vols aturar la configuració?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Confirmes que vols deixar de configurar i d\'esborrar les dades del dispositiu?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Cancel·la"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"D\'acord"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Restableix"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"No s\'ha pogut configurar el dispositiu. Contacta amb el departament de TI."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Aquest dispositiu ja està configurat."</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"No s\'ha pogut connectar a la Wi-Fi."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"No s\'ha pogut fer servir l\'aplicació d\'administració a causa d\'un error de la suma de comprovació. Contacta amb el departament de TI."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"No s\'ha pogut baixar l\'aplicació d\'administració."</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"No es pot fer servir l\'aplicació d\'administració perquè està malmesa o hi falten components. Contacta amb el departament de TI."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"No s\'ha pogut instal·lar l\'aplicació d\'administració."</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"L\'aplicació d\'administració no està instal·lada al dispositiu."</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Vols aturar la configuració?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Confirmes que vols aturar la configuració?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"No"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Sí"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"S\'està cancel·lant..."</string>
+</resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
new file mode 100644
index 0000000..1a68889
--- /dev/null
+++ b/res/values-cs/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Device Provisioner"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Jejda!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Nastavení profilu"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Tento profil řídí a zabezpečuje vaše společnost. Vše ostatní v tomto zařízení máte pod kontrolou vy."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Následující aplikace bude potřebovat přístup k tomuto profilu:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Nastavit"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Nastavování pracovního profilu..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Administrátor může sledovat a spravovat nastavení, firemní přístup, aplikace a data přidružená k tomuto profilu, včetně aktivity v síti a informací o poloze vašeho zařízení."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Administrátor může sledovat a spravovat nastavení, firemní přístup, aplikace a data přidružená k tomuto zařízení, včetně aktivity v síti a informací o poloze vašeho zařízení."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Další informace, včetně zásad ochrany soukromí vaší organizace, vám poskytne administrátor."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Další informace"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Zrušit"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"OK"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Pracovní profil"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"V zařízení již pracovní profil máte. Chcete jej odstranit?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Opravdu tento pracovní profil chcete odstranit? Všechna jeho data budou vymazána."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Odstranit"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Zrušit"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Chcete-li v nastavení pracovního profilu pokračovat, bude třeba zařízení zašifrovat. Může to chvíli trvat."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Zrušit"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Zašifrovat"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Šifrování dokončeno"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Klepnutím pokračujte v nastavení prac. profilu."</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Nastavení pracovního profilu se nezdařilo. Obraťte se na oddělení IT nebo to zkuste znovu později."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Vaše zařízení pracovní profily nepodporuje."</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Pracovní profily musí nastavit vlastník zařízení"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Váš pracovní profil tato aplikace spouštěče nepodporuje. Budete muset přejít na spouštěč, který je kompatibilní."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Zrušit"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Uživatel pracovního zařízení"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Nastavení zařízení"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Zpracování dat nastavení..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Připojování k síti Wi-Fi..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"Stahování aplikace pro správu..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"Instalace aplikace pro správu..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Nastavování vlastníka zařízení..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Zastavit nastavování?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Opravdu chcete nastavení ukončit a vymazat data zařízení?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Zrušit"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"OK"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Resetovat"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Nastavení zařízení se nezdařilo. Obraťte se na oddělení IT."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Toto zařízení je již nastaveno."</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Připojení k síti Wi-Fi se nezdařilo"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Kvůli chybě kontrolního součtu nelze aplikaci pro správu použít. Obraťte se na oddělení IT."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Stažení aplikace pro správu se nezdařilo."</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Aplikaci pro správu nelze použít. Buď v ní chybí některé komponenty, nebo je poškozená. Obraťte se na oddělení IT."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Instalace aplikace pro správu se nezdařila."</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Ve vašem zařízení není nainstalována aplikace pro správu."</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Zastavit nastavování?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Opravdu chcete nastavování zastavit?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Ne"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Ano"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Rušení..."</string>
+</resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
new file mode 100644
index 0000000..157923f
--- /dev/null
+++ b/res/values-da/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Enhedsklargøring"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Hovsa!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Opret din profil"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Din organisation styrer denne profil og sørger for, at den er sikker. Du styrer alt andet på din enhed."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Den følgende app skal have adgang til denne profil:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Konfigurer"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Konfigurerer din arbejdsprofil…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Din administrator kan overvåge og administrere indstillinger, virksomhedsadgang, apps og data, der er knyttet til profilen, herunder netværksaktivitet og enhedens placeringsoplysninger."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Din administrator kan overvåge og administrere indstillinger, virksomhedsadgang, apps og data, der er knyttet til denne enhed, herunder netværksaktivitet og enhedens placeringsoplysninger."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Kontakt din administrator for at få flere oplysninger, herunder om din organisations privatlivspolitik."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Få flere oplysninger"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Annuller"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"OK"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Arbejdsprofil"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Du har allerede en arbejdsprofil på enheden. Vil du at fjerne den?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Er du sikker på, at du vil fjerne dette arbejdsprofil? Alle profilens data slettes."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Fjern"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Annuller"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Du skal kryptere din enhed, inden du fortsætter med at konfigurere din arbejdsprofil. Dette kan tage et stykke tid."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Annuller"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Kryptér"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Krypteringen er fuldført"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Tryk for at fortsætte konfigurationen af din arbejdsprofil"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Din arbejdsprofil kunne ikke oprettes. Kontakt din IT-afdeling, eller prøv igen senere."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Din enhed understøtter ikke arbejdsprofiler"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Arbejdsprofiler skal oprettes af enhedens ejer"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Din arbejdsprofil understøttes ikke af denne starter. Skift til en starter, der er kompatibel."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Annuller"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Bruger af arbejdsenhed"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Konfigurer din enhed"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Behandler konfigurationsdata..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Opretter forbindelse til Wi-Fi…"</string>
+    <string name="progress_download" msgid="4995057798189799156">"Downloader administrationsapp…"</string>
+    <string name="progress_install" msgid="9169411715762296097">"Installerer administrationsapp…"</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Angiver enhedens ejer…"</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Vil du standse konfigureringen?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Er du sikker på, at du vil standse konfigurationen og slette enhedens data?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Annuller"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"OK"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Gendan fabriksdata"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Din enhed kunne ikke konfigureres. Kontakt din it-afdeling."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Denne enhed er allerede konfigureret"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Der kunne ikke oprettes forbindelse til Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Administrationsappen kunne ikke bruges på grund af en fejl i kontrolsummen. Kontakt din it-afdeling."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Administrationsappen kunne ikke hentes"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Administrationsappen kan ikke bruges. Den mangler komponenter eller er beskadiget. Kontakt din it-afdeling."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Administrationsappen kunne ikke installeres"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Administrationsappen er ikke installeret på din enhed"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Vil du standse konfigurationen?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Er du sikker på, at du vil stoppe konfigurationen?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Nej"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Ja"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Annullerer..."</string>
+</resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
new file mode 100644
index 0000000..9eddaa9
--- /dev/null
+++ b/res/values-de/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Gerätebereitstellung"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Hoppla!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Profil einrichten"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Ihr Unternehmen verwaltet dieses Profil und sorgt für seine Sicherheit. Sie verwalten alle anderen Aspekte Ihres Geräts."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Die folgende App benötigt Zugriff auf dieses Profil:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Einrichten"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Arbeitsprofil wird eingerichtet…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Ihr Administrator kann die mit diesem Profil verknüpften Einstellungen, Unternehmens-Zugriffsrechte, Apps und Daten überwachen und verwalten, einschließlich der Netzwerkaktivitäten und der Standortinformationen für Ihr Gerät."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Ihr Administrator kann die mit diesem Gerät verbundenen Einstellungen, Unternehmenszugriffsrechte, Apps und Daten überwachen und verwalten, einschließlich der Netzwerkaktivitäten und der Standortinformationen Ihres Geräts."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Weitere Informationen, auch zur Datenschutzerklärung Ihrer Organisation, erhalten Sie bei Ihrem Administrator."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Weitere Informationen"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Abbrechen"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"OK"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Arbeitsprofil"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Es ist bereits ein Arbeitsprofil auf Ihrem Gerät vorhanden. Möchten Sie es entfernen?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Möchten Sie das Arbeitsprofil wirklich entfernen? Alle zum Profil gehörenden Daten werden dadurch gelöscht."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Entfernen"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Abbrechen"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Um mit dem Einrichten Ihres Arbeitsprofils fortzufahren, müssen Sie Ihr Gerät verschlüsseln. Dies kann einige Zeit dauern."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Abbrechen"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Verschlüsseln"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Verschlüsselung abgeschlossen"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Tippen, um das Einrichten des Arbeitsprofils fortzusetzen"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Ihr Arbeitsprofil konnte nicht eingerichtet werden. Bitte wenden Sie sich an Ihre IT-Abteilung oder versuchen Sie es später erneut."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Ihr Gerät unterstützt keine Arbeitsprofile."</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Arbeitsprofile können nur vom Eigentümer des Geräts eingerichtet werden."</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Ihr Arbeitsprofil wird von dieser Launcher-App nicht unterstützt. Wechseln Sie zu einem kompatiblen Launcher."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Abbrechen"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Nutzer des Dienstgeräts"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Gerät einrichten"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Einrichtungsdaten werden verarbeitet…"</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"WLAN-Verbindung wird hergestellt…"</string>
+    <string name="progress_download" msgid="4995057798189799156">"Admin-App wird heruntergeladen…"</string>
+    <string name="progress_install" msgid="9169411715762296097">"Admin-App wird installiert…"</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Geräteeigentümer wird eingerichtet…"</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Einrichtung abbrechen?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Möchten Sie die Einrichtung wirklich beenden und die Daten von Ihrem Gerät löschen?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Abbrechen"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"OK"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Zurücksetzen"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Das Gerät konnte nicht eingerichtet werden. Bitte wenden Sie sich an Ihre IT-Abteilung."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Das Gerät ist bereits eingerichtet."</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Es konnte keine WLAN-Verbindung hergestellt werden."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Fehler bei der Prüfsumme. Die Admin-App kann nicht genutzt werden. Bitte wenden Sie sich an Ihre IT-Abteilung."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Die Admin-App konnte nicht heruntergeladen werden."</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Die Admin-App kann nicht genutzt werden. Sie wurde beschädigt oder es fehlen Komponenten. Bitte wenden Sie sich an Ihre IT-Abteilung."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Die Admin-App konnte nicht installiert werden."</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Die Admin-App ist nicht auf Ihrem Gerät installiert."</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Einrichtung abbrechen?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Möchten Sie die Einrichtung wirklich beenden?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Nein"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Ja"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Abbrechen..."</string>
+</resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
new file mode 100644
index 0000000..8665b84
--- /dev/null
+++ b/res/values-el/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Πάροχος συσκευής"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Ωχ!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Ρυθμίστε το προφίλ σας"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Ο οργανισμός σας ελέγχει αυτό το προφίλ και το διατηρεί ασφαλές. Εσείς ελέγχετε όλα τα υπόλοιπα στοιχεία στη συσκευή σας."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Η παρακάτω εφαρμογή θα χρειαστεί πρόσβαση σε αυτό το προφίλ:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Ρύθμιση"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Δημιουργία του προφίλ εργασίας σας…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Ο διαχειριστής σας έχει τη δυνατότητα να παρακολουθεί και να διαχειρίζεται ρυθμίσεις, εταιρική πρόσβαση, εφαρμογές και δεδομένα που σχετίζονται με το προφίλ, συμπεριλαμβανομένων της δραστηριότητας του δικτύου και των πληροφοριών τοποθεσίας της συσκευής σας."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Ο διαχειριστής σας έχει τη δυνατότητα να παρακολουθεί και να διαχειρίζεται τις ρυθμίσεις, την εταιρική πρόσβαση, τις εφαρμογές και τα δεδομένα που σχετίζονται με αυτήν τη συσκευή, συμπεριλαμβανομένης της δραστηριότητας δικτύου και των πληροφοριών τοποθεσίας της συσκευής σας."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Επικοινωνήστε με το διαχειριστή σας για περισσότερες πληροφορίες, συμπεριλαμβανομένων των πολιτικών απορρήτου του οργανισμού σας."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Μάθετε περισσότερα"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Ακύρωση"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"ΟΚ"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Προφίλ εργασίας"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Υπάρχει ήδη ένα προφίλ εργασίας στη συσκευή σας. Θέλετε να το καταργήσετε;"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Είστε βέβαιοι ότι θέλετε να καταργήσετε αυτό το προφίλ εργασίας; Όλα τα δεδομένα θα διαγραφούν."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Κατάργηση"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Ακύρωση"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Για να συνεχίσετε με τη ρύθμιση του προφίλ εργασίας σας, θα πρέπει να κρυπτογραφήσετε τη συσκευή σας. Αυτό μπορεί να διαρκέσει λίγη ώρα."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Ακύρωση"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Κρυπτογράφηση"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Η κρυπτογράφηση ολοκληρώθηκε"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Αγγίξτε για να συνεχίσετε τη ρύθμιση του προφίλ εργασίας σας"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Δεν ήταν δυνατή η ρύθμιση του προφίλ εργασίας σας. Επικοινωνήστε με το τμήμα πληροφορικής υποστήριξης ή δοκιμάστε ξανά αργότερα."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Η συσκευή σας δεν υποστηρίζει τα προφίλ εργασίας"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Τα προφίλ εργασίας θα πρέπει να οριστούν από τον κάτοχο της συσκευής"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Το προφίλ εργασίας σας δεν υποστηρίζεται από αυτήν την εφαρμογή εκκίνησης. Θα πρέπει να χρησιμοποιήσετε μια συμβατή εφαρμογή εκκίνησης."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Ακύρωση"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Χρήστης συσκευής εργασίας"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Ρύθμιση της συσκευής σας"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Επεξεργασία δεδομένων ρύθμισης…"</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Σύνδεση με Wi-Fi…"</string>
+    <string name="progress_download" msgid="4995057798189799156">"Λήψη εφαρμογής διαχείρισης…"</string>
+    <string name="progress_install" msgid="9169411715762296097">"Εγκατάσταση εφαρμογής διαχείρισης…"</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Ρύθμιση του κατόχου της συσκευής…"</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Διακοπή ρύθμισης;"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Είστε βέβαιοι ότι θέλετε να σταματήσετε τη ρύθμιση και να διαγράψετε τα δεδομένα της συσκευής σας;"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Ακύρωση"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"ΟΚ"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Επαναφορά"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Δεν ήταν δυνατή η ρύθμιση της συσκευής σας. Επικοινωνήστε με το τμήμα πληροφορικής υποστήριξης."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Αυτή η συσκευή έχει ρυθμιστεί ήδη"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Δεν είναι δυνατή η σύνδεση στο Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Δεν ήταν δυνατή η χρήση της εφαρμογής διαχείρισης λόγω σφάλματος του αθροίσματος ελέγχου. Επικοινωνήστε με το τμήμα πληροφορικής υποστήριξης."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Δεν ήταν δυνατή η λήψη της εφαρμογής διαχείρισης"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Δεν ήταν δυνατή η χρήση της εφαρμογής διαχείρισης. Λείπουν στοιχεία ή είναι κατεστραμμένα. Επικοινωνήστε με το τμήμα πληροφορικής υποστήριξης."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Δεν ήταν δυνατή η εγκατάσταση της εφαρμογής διαχείρισης"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Η εφαρμογή διαχείρισης δεν είναι εγκατεστημένη στη συσκευή σας"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Διακοπή ρύθμισης;"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Είστε βέβαιοι ότι θέλετε να διακόψετε τη ρύθμιση;"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Όχι"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Ναι"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Γίνεται ακύρωση…"</string>
+</resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
new file mode 100644
index 0000000..fc3379f
--- /dev/null
+++ b/res/values-en-rGB/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Device Provisioner"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Oops!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Set up your profile"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Your organisation controls this profile and keeps it secure. You control everything else on your device."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"The following app will need to access this profile:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Set up"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Setting up your work profile..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Your administrator has the ability to monitor and manage settings, corporate access, apps and data associated with the profile, including network activity and your device\'s location information."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Your administrator has the ability to monitor and manage settings, corporate access, apps and data associated with this device, including network activity and your device\'s location information."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Contact your administrator for more information, including your organisation\'s privacy policies."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Learn more"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Cancel"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"OK"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Work profile"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"You already have a work profile on your device. Do you want to remove it?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Are you sure you want to remove this work profile? All of its data will be deleted."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Remove"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Cancel"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"To continue setting up your work profile, you\'ll need to encrypt your device. This may take some time."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Cancel"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Encrypt"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Encryption complete"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Touch to continue setting up your work profile"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Couldn\'t set up your work profile. Contact your IT department or try again later."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Your device doesn\'t support work profiles"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Work profiles need to be set up by the device owner"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Your work profile isn\'t supported by this launcher app. You\'ll need to switch to a launcher that\'s compatible."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Cancel"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"User of work device"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Set up your device"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Processing setup data..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Connecting to Wi-Fi..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"Downloading the admin app..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"Installing the admin app..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Setting the device owner..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Stop setting up?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Are you sure that you want to stop setting up and erase your device\'s data?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Cancel"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"OK"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Reset"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Couldn\'t set up your device. Contact your IT department."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"This device is already set up"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Couldn\'t connect to Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Couldn\'t use the admin app due to a checksum error. Contact your IT department."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Couldn\'t download the admin app"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Can\'t use the admin app. It\'s missing components or corrupted. Contact your IT department."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Couldn\'t install the admin app"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"The admin app isn\'t installed on your device"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Stop setting up?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Are you sure that you want to stop setting up?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"No"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Yes"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Cancelling ..."</string>
+</resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
new file mode 100644
index 0000000..fc3379f
--- /dev/null
+++ b/res/values-en-rIN/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Device Provisioner"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Oops!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Set up your profile"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Your organisation controls this profile and keeps it secure. You control everything else on your device."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"The following app will need to access this profile:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Set up"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Setting up your work profile..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Your administrator has the ability to monitor and manage settings, corporate access, apps and data associated with the profile, including network activity and your device\'s location information."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Your administrator has the ability to monitor and manage settings, corporate access, apps and data associated with this device, including network activity and your device\'s location information."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Contact your administrator for more information, including your organisation\'s privacy policies."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Learn more"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Cancel"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"OK"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Work profile"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"You already have a work profile on your device. Do you want to remove it?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Are you sure you want to remove this work profile? All of its data will be deleted."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Remove"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Cancel"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"To continue setting up your work profile, you\'ll need to encrypt your device. This may take some time."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Cancel"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Encrypt"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Encryption complete"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Touch to continue setting up your work profile"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Couldn\'t set up your work profile. Contact your IT department or try again later."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Your device doesn\'t support work profiles"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Work profiles need to be set up by the device owner"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Your work profile isn\'t supported by this launcher app. You\'ll need to switch to a launcher that\'s compatible."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Cancel"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"User of work device"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Set up your device"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Processing setup data..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Connecting to Wi-Fi..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"Downloading the admin app..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"Installing the admin app..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Setting the device owner..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Stop setting up?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Are you sure that you want to stop setting up and erase your device\'s data?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Cancel"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"OK"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Reset"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Couldn\'t set up your device. Contact your IT department."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"This device is already set up"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Couldn\'t connect to Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Couldn\'t use the admin app due to a checksum error. Contact your IT department."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Couldn\'t download the admin app"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Can\'t use the admin app. It\'s missing components or corrupted. Contact your IT department."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Couldn\'t install the admin app"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"The admin app isn\'t installed on your device"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Stop setting up?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Are you sure that you want to stop setting up?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"No"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Yes"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Cancelling ..."</string>
+</resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
new file mode 100644
index 0000000..0716516
--- /dev/null
+++ b/res/values-es-rUS/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Aprovisionador de dispositivos"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"¡Uy!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Configura tu perfil"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Tu organización controla este perfil y lo mantiene seguro. Tú controlas todo lo demás en el dispositivo."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"La siguiente aplicación necesitará acceso a este perfil:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Configurar"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Configurando tu perfil de trabajo…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"El administrador puede supervisar y administrar la configuración, el acceso corporativo, las aplicaciones y los datos asociados con el perfil, incluida la actividad de la red y la información de ubicación del dispositivo."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"El administrador de organización puede supervisar y administrar la configuración, el acceso corporativo, las aplicaciones y los datos asociados a este dispositivo, incluida la actividad de red y la información de ubicación del dispositivo."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Para obtener más información, como las políticas de privacidad de la organización, comunícate con el administrador."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Más información"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Cancelar"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"Aceptar"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Perfil de trabajo"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Ya tienes un perfil de trabajo en el dispositivo. ¿Deseas eliminarlo?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"¿Confirmas que quieres eliminar este perfil de trabajo? Se eliminarán todos sus datos."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Eliminar"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Cancelar"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Para continuar con la configuración del perfil de trabajo, deberás encriptar el dispositivo. Esto podría tardar un poco."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Cancelar"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Encriptar"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Encriptación completa"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Toca para continuar configurando tu perfil de trabajo."</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"No se pudo configurar el perfil de trabajo. Comunícate con el Departamento de TI o vuelve a intentarlo más tarde."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"El dispositivo no admite perfiles de trabajo."</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"El propietario del dispositivo debe configurar los perfiles de trabajo."</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Esta aplicación de launcher no admite tu perfil de trabajo. Deberás utilizar un launcher compatible."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Cancelar"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Aceptar"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Usuario de dispositivo de trabajo"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Configurar el dispositivo"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Procesando datos de configuración…"</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Conectando a Wi-Fi…"</string>
+    <string name="progress_download" msgid="4995057798189799156">"Descargando aplicación de administración…"</string>
+    <string name="progress_install" msgid="9169411715762296097">"Instalando aplicación de administración…"</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Configurando propietario del dispositivo…"</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"¿Detener la configuración?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"¿Confirmas que deseas detener la configuración y borrar los datos de tu dispositivo?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Cancelar"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"Aceptar"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Restablecer"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"No se pudo configurar el dispositivo. Comunícate con el Departamento de TI."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Este dispositivo ya está configurado."</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"No se pudo conectar a la red Wi-Fi."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"No se pudo usar la aplicación de administración debido a un error de suma de comprobación. Comunícate con el Departamento de TI."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"No se pudo descargar la aplicación de administración."</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"No se puede usar la aplicación de administración. Hay componentes que faltan o que están dañados. Comunícate con el Departamento de TI."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"No se pudo instalar la aplicación de administración."</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"La aplicación de administración no está instalada en el dispositivo."</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"¿Detener la configuración?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"¿Confirmas que quieres detener la configuración?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"No"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Sí"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Cancelando…"</string>
+</resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
new file mode 100644
index 0000000..c2491b1
--- /dev/null
+++ b/res/values-es/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Aprovisionador de dispositivos"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"¡Vaya!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Configura tu perfil"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Tu organización controla este perfil y mantiene su seguridad. Tú controlas el resto del contenido del dispositivo."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Esta aplicación necesitará acceder a tu perfil:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Configurar"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Configurando tu perfil de trabajo..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Tu administrador puede controlar y administrar los ajustes, el acceso corporativo, las aplicaciones y los datos asociados al perfil, como la actividad de red y la información de ubicación del dispositivo."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Tu administrador puede controlar y administrar los ajustes, el acceso corporativo, las aplicaciones y los datos asociados al dispositivo, como la actividad de red y la información de ubicación del dispositivo."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Para obtener más información, incluidas las políticas de privacidad de tu organización, ponte en contacto con el administrador."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Más información"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Cancelar"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"Aceptar"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Perfil de trabajo"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Ya tienes un perfil de trabajo en el dispositivo. ¿Quieres eliminarlo?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"¿Seguro que quieres eliminar este perfil de trabajo? Se eliminarán todos sus datos."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Eliminar"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Cancelar"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Para seguir configurando tu perfil de trabajo, tendrás que cifrar el dispositivo. Este proceso puede tardar un tiempo."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Cancelar"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Cifrar"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Cifrado completado"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Toca para continuar la configuración del perfil de trabajo"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"No se ha podido configurar el perfil de trabajo. Ponte en contacto con el departamento de TI o vuelve a intentarlo más tarde."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Tu dispositivo no admite perfiles de trabajo"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"El propietario del dispositivo debe configurar los perfiles de trabajo"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Esta aplicación de launcher no admite tu perfil de trabajo. Debes utilizar un launcher que sea compatible."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Cancelar"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Aceptar"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Usuario del dispositivo de trabajo"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Configurar tu dispositivo"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Procesando datos de configuración..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Conectando a red Wi-Fi..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"Descargando aplicación de administración..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"Instalando aplicación de administración..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Estableciendo propietario del dispositivo..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"¿Detener configuración?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"¿Seguro que quieres detener la configuración y borrar los datos del dispositivo?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Cancelar"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"Aceptar"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Restablecer"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"No se ha podido configurar el dispositivo. Ponte en contacto con el departamento de TI."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Este dispositivo ya está configurado"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"No se ha podido establecer conexión con la red Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"No se ha podido utilizar la aplicación de administración debido a un error de la suma de comprobación. Ponte en contacto con el departamento de TI."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"No se ha podido descargar la aplicación de administración"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"No se puede utilizar la aplicación de administración porque faltan componentes o está dañada. Ponte en contacto con el administrador de TI."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"No se ha podido instalar la aplicación de administración"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"La aplicación de administración no está instalada en tu dispositivo"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"¿Detener configuración?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"¿Seguro que quieres detener la configuración?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"No"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Sí"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Cancelando..."</string>
+</resources>
diff --git a/res/values-et-rEE/strings.xml b/res/values-et-rEE/strings.xml
new file mode 100644
index 0000000..720af3f
--- /dev/null
+++ b/res/values-et-rEE/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Seadme ettevalmistamine"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Vabandust!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Seadistage oma profiil"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Teie organisatsioon haldab seda profiili ja hoiab seda turvalisena. Kõike muud oma seadmes juhite teie."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Järgmine rakendus nõuab juurdepääsu sellele profiilile:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Seadistus"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Tööprofiili seadistamine ..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Teie administraator saab jälgida ja hallata selle profiiliga seotud seadeid, ettevõtte juurdepääsu, rakendusi ning andmeid, sh võrgutegevust ja seadme asukohateavet."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Teie administraator saab jälgida ja hallata selle seadmega seotud seadeid, ettevõtte juurdepääsu, rakendusi ning andmeid, sh võrgutegevust ja seadme asukohateavet."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Lisateabe saamiseks (sh organisatsiooni privaatsuseeskirjade kohta) võtke ühendust administraatoriga."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Lisateave"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Tühista"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"OK"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Tööprofiil"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Seadmes on juba tööprofiil. Kas soovite selle eemaldada?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Kas soovite kindlasti eemaldada selle tööprofiili? Kõik selle andmed kustutatakse."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Eemalda"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Tühista"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Tööprofiili seadistamise jätkamiseks peate seadme krüpteerima. Selleks võib kuluda pisut aega."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Tühista"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Krüpteeri"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Krüpteerimine on lõpule viidud"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Puudutage, et jätkata tööprofiili seadistamist"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Tööprofiili ei õnnestunud seadistada. Võtke ühendust oma IT-osakonnaga või proovige hiljem uuesti."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Teie seade ei toeta tööprofiile"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Tööprofiilid peab seadistama seadme omanik"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"See käivitusrakendus ei toeta teie tööprofiili. Peate minema üle ühilduvale käivitusrakendusele."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Tühista"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Tööseadme kasutaja"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Seadme seadistamine"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Seadistamisandmete töötlemine ..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"WiFi-ga ühenduse loomine ..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"Administraatori rakenduse allalaadimine ..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"Administraatori rakenduse installimine ..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Seadme omaniku määramine ..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Kas peatada seadistamine?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Kas soovite kindlasti lõpetada seadistamise ja kustutada seadme andmed?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Tühista"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"OK"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Lähtesta"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Seadet ei õnnestunud seadistada. Võtke ühendust oma IT-osakonnaga."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"See seade on juba seadistatud"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"WiFi-ga ei saanud ühendust"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Administraatori rakendust ei saa kasutada kontrollsumma vea tõttu. Võtke ühendust oma IT-osakonnaga."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Administraatorirakendust ei õnnestunud alla laadida"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Administraatori rakendust ei saa kasutada. See ei sisalda kõiki komponente või on rikutud. Võtke ühendust oma IT-osakonnaga."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Administraatorirakendust ei õnnestunud installida"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Administraatorirakendus ei ole sellesse seadmesse installitud"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Kas peatada seadistamine?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Kas soovite kindlasti seadistamise peatada?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Ei"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Jah"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Tühistamine …"</string>
+</resources>
diff --git a/res/values-eu-rES/strings.xml b/res/values-eu-rES/strings.xml
new file mode 100644
index 0000000..714f763
--- /dev/null
+++ b/res/values-eu-rES/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Gailuaren hornitzailea"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Arazo bat izan da."</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Konfiguratu profila"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Erakundeak kontrolatzen du profila eta seguru mantentzen du. Gailuan duzun gainerako guztia zeuk kontrolatzen duzu."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Aplikazio honek profila atzitu beharko du:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Konfiguratu"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Laneko profila konfiguratzen…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Administratzaileak ikuskatu eta kudeatu egin ditzake profilarekin erlazionatutako ezarpenak, enpresaren sarbide-baimenak, aplikazioak eta datuak (sarean izandako jarduerak eta gailuaren kokapenari buruzko informazioa barne)."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Administratzaileak ikuskatu eta kudeatu egin ditzake gailuarekin erlazionatutako ezarpenak, enpresaren sarbide-baimenak, aplikazioak eta datuak (sarean izandako jarduerak eta gailuaren kokapenari buruzko informazioa barne)."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Informazio gehiago lortzeko (baita erakundearen pribatutasun-gidalerroei buruzkoa ere), jarri administratzailearekin harremanetan."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Lortu informazio gehiago"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Utzi"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"Ados"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Laneko profila"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Gailuan baduzu laneko profil bat dagoeneko. Lehendik duzun profila kendu nahi duzu?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Ziur laneko profila ezabatu nahi duzula? Bertako datu guztiak ezabatuko dira."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Kendu"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Utzi"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Laneko profila konfiguratzen jarraitzeko, gailua enkriptatu beharko duzu. Minutu batzuk behar izan ditzakegu horretarako."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Utzi"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Enkriptatu"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Enkriptatu da"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Ukitu hau laneko profila konfiguratzen jarraitzeko"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Ezin izan da konfiguratu laneko profila. Jarri informatika-sailarekin harremanetan edo saiatu berriro geroago."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Gailuak ez du laneko profilik onartzen"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Gailuaren jabeak konfiguratu behar ditu laneko profilak"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Aplikazio abiarazle honek ez du zure laneko profila onartzen. Abiarazle bateragarri bat erabili beharko duzu."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Utzi"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Ados"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Laneko gailuaren erabiltzailea"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Konfiguratu gailua"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Konfigurazio-datuak prozesatzen…"</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Wi-Fi sarera konektatzen…"</string>
+    <string name="progress_download" msgid="4995057798189799156">"Administrazio-aplikazioa deskargatzen…"</string>
+    <string name="progress_install" msgid="9169411715762296097">"Administrazio-aplikazioa instalatzen…"</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Gailuaren jabea ezartzen…"</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Konfiguratzeari utzi nahi diozu?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Ziur konfiguratzeari utzi eta gailuko datu guztiak ezabatu nahi dituzula?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Utzi"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"Ados"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Berrezarri"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Ezin izan da konfiguratu gailua. Jarri informatika-sailarekin harremanetan."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Gailua konfiguratuta dago dagoeneko"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Ezin izan da Wi-Fi sarera konektatu"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Ezin izan da erabili administrazio-aplikazioa, batuketa egitean errore bat gertatu delako. Jarri informatika-sailarekin harremanetan."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Ezin izan da administrazio-aplikazioa deskargatu"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Ezin da erabili administrazio-aplikazioa. Osagaiak falta zaizkio edo hondatuta dago. Jarri informatika-sailarekin harremanetan."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Ezin izan da administrazio-aplikazioa instalatu"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Administrazio-aplikazioa ez dago gailuan instalatuta"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Konfiguratzeari utzi nahi diozu?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Ziur konfiguratzeari utzi nahi diozula?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Ez"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Bai"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Bertan behera uzten…"</string>
+</resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
new file mode 100644
index 0000000..17b92a2
--- /dev/null
+++ b/res/values-fa/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Device Provisioner"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"وای!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"تنظیم نمایه"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"سازمان شما این نمایه را کنترل می‌کند و آن را ایمن نگه می‌دارد. کنترل همه چیزهای دیگر در دستگاهتان در دست شماست."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"برنامه زیر نیاز به دسترسی به این نمایه خواهد داشت:"</string>
+    <string name="set_up" msgid="7012862095553564169">"راه‌اندازی"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"در حالت تنظیم نمایه کاریتان..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"سرپرست سیستم شما می‌تواند بر تنظیمات، دسترسی سازمانی، برنامه‌ها و داده‌های مرتبط با نمایه، از جمله فعالیت شبکه و اطلاعات مکان دستگاهتان نظارت و مدیریت کند."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"سرپرست سیستمتان می‌تواند بر تنظیمات، دسترسی شرکتی، برنامه‌ها و اطلاعات مرتبط با این دستگاه، از جمله فعالیت شبکه و اطلاعات مکان دستگاه‌ شما نظارت و مدیریت کند."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"برای دریافت اطلاعات بیشتر، از جمله خط‌مشی‌های رازداری سازمانتان، با سرپرست سیستم خودتان تماس بگیرید."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"بیشتر بدانید"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"لغو"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"تأیید"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"نمایه کاری"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"شما در حال حاضر یک نمایه کاری در دستگاهتان دارید. آیا می‌خواهید آن را حذف کنید؟"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"مطمئنید می‌خواهید این نمایه کاری را حذف کنید؟ همه اطلاعات آن حذف خواهند شد."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"حذف"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"لغو"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"برای ادامه راه‌اندازی نمایه کاری‌تان، لازم است که دستگاهتان را رمزگذاری کنید. این کار ممکن است مدتی طول بکشد."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"لغو"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"رمزگذاری"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"رمزگذاری کامل شد"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"برای ادامه راه‌اندازی نمایه کاری‌تان، لمس کنید"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"نمایه کاریتان تنظیم نشد. با بخش فناوری اطلاعات مربوط به خودتان تماس بگیرید یا دوباره بعداً امتحان کنید."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"دستگاهتان از نمایه‌های کاری پشتیبانی نمی‌کند"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"مالک دستگاه باید نمایه‌های کاری را راه‌اندازی کند"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"نمایه کاریتان از سوی این برنامه راه‌انداز پشتیبانی نمی‌شود. باید راه‌انداز خودتان را به راه‌اندازی تغییر دهید که سازگار است."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"لغو"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"تأیید"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"کاربر دستگاه کاری"</string>
+    <string name="setup_device" msgid="6725265673245816366">"تنظیم دستگاه‌تان"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"در حال پردازش اطلاعات تنظیم..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"‏در حال برقراری اتصال به Wi-Fi..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"در حال دانلود برنامه سرپرست..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"در حال نصب برنامه سرپرست..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"در حال تنظیم مالک دستگاه..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"راه‌اندازی متوقف شود؟"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"مطمئنید می‌خواهید تنظیم را متوقف کنید و اطلاعات دستگاه‌تان را پاک کنید؟"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"لغو"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"تأیید"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"بازنشانی"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"دستگاه‌تان تنظیم نشد. با بخش فناوری اطلاعات مربوط به خودتان تماس بگیرید."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"این دستگاه از قبل راه‌اندازی شده است"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"‏اتصال به Wi-Fi ممکن نیست"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"به دلیل خطای چک‌سام، برنامه سرپرست استفاده نشد. با بخش فناوری اطلاعات مربوط به خودتان تماس بگیرید."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"برنامه سرپرستی دانلود نشد"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"برنامه سرپرست استفاده نمی‌شود. مؤلفه‌های آن وجود ندارند یا خراب هستند. با بخش فناوری اطلاعات مربوط به خودتان تماس بگیرید."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"برنامه سرپرستی نصب نشد"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"برنامه سرپرستی روی دستگاهتان نصب نشده است"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"راه‌اندازی متوقف شود؟"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"آیا مطمئنید که می‌خواهید راه‌اندازی را متوقف کنید؟"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"خیر"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"بله"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"در حال لغو..."</string>
+</resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
new file mode 100644
index 0000000..73cab78
--- /dev/null
+++ b/res/values-fi/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Laitteen käyttäjien hallinta"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Hups!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Luo Google-profiili"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Organisaatiosi hallinnoi tätä profiilia ja suojaa sen tiedot. Voit itse hallinnoida laitteen muita ominaisuuksia."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Seuraava sovellus tarvitsee käyttöoikeuden profiiliin:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Määritä asetukset"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Määritetään työprofiilia…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Järjestelmänvalvoja voi valvoa ja hallinnoida asetuksia, yrityskäyttöä, profiiliin liitettyjä sovelluksia ja tietoja, kuten verkon käyttöä ja laitteen sijaintitietoja."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Järjestelmänvalvoja voi valvoa ja hallinnoida asetuksia, yrityskäyttöä, sovelluksia ja tähän laitteeseen liittyviä tietoja, kuten verkon käyttöä ja laitteen sijaintitietoja."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Pyydä järjestelmänvalvojalta lisätietoja esimerkiksi organisaation tietosuojakäytännöistä."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Lisätietoja"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Peruuta"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"OK"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Työprofiili"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Laitteessa on jo työprofiili. Haluatko poistaa sen?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Haluatko varmasti poistaa tämän työprofiilin? Kaikki profiilin tiedot poistetaan."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Poista"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Peruuta"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Työprofiilin määritysten jatkaminen edellyttää laitteen salaamista. Se voi kestää hetken."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Peruuta"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Salaa"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Salaus on valmis"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Siirry työprofiilin asetuksiin koskettamalla"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Työprofiilin määrittäminen epäonnistui. Ota yhteyttä yrityksesi IT-osastoon tai yritä myöhemmin uudelleen."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Laite ei tue työprofiileja"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Vain laitteen omistaja voi määrittää työprofiileja"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Tämä käynnistysohjelma ei tue profiilisiasi. Vaihda yhteensopivaan käynnistysohjelmaan."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Peruuta"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Työpaikan laitteen käyttäjä"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Määritä laitteen asetukset"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Käsitellään asennustietoja…"</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Muodostetaan Wi-Fi-yhteyttä…"</string>
+    <string name="progress_download" msgid="4995057798189799156">"Ladataan hallintasovellusta…"</string>
+    <string name="progress_install" msgid="9169411715762296097">"Asennetaan hallintasovellusta…"</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Määritetään laitteen omistajaa…"</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Lopetetaanko määritys?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Haluatko varmasti lopettaa asetusten määrittämisen ja tyhjentää laitteen tiedot?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Peruuta"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"OK"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Nollaa"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Laitteen asetusten määrittäminen epäonnistui. Ota yhteyttä yrityksesi IT-osastoon."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Laitteen asetukset on jo määritetty"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi-yhteyden muodostaminen epäonnistui"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Hallintasovelluksen käyttäminen epäonnistui tarkistussummavirheen vuoksi. Ota yhteyttä yrityksesi IT-osastoon."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Hallintasovelluksen lataaminen epäonnistui"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Hallintasovellusta ei voi käyttää. Sovellus on vioittunut tai siitä puuttuu komponentteja. Ota yhteyttä yrityksesi IT-osastoon."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Hallintasovelluksen asentaminen epäonnistui"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Hallintasovellusta ei ole asennettu laitteeseen"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Keskeytetäänkö määrittäminen?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Haluatko varmasti keskeyttää määrittämisen?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Ei"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Kyllä"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Peruutetaan..."</string>
+</resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
new file mode 100644
index 0000000..e982065
--- /dev/null
+++ b/res/values-fr-rCA/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Approvisionneur de l\'appareil"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Oups!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Configurer votre profil"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Votre organisation gère ce profil et assure sa sécurité. Vous contrôlez tout le reste sur votre appareil."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"L\'application suivante devra accéder à ce profil :"</string>
+    <string name="set_up" msgid="7012862095553564169">"Configurer"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Configuration de votre profil professionnel en cours…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Votre administrateur peut surveiller et gérer les paramètres, l\'accès aux données d\'entreprise, les applications et les données associées au profil, y compris l\'activité réseau et les données de localisation de votre appareil."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"L\'administrateur de votre entreprise peut surveiller et gérer les paramètres, les accès, les applications et les données associés à cet appareil, y compris votre activité réseau et les données de localisation de votre appareil."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Pour obtenir plus d\'information, y compris les politiques de confidentialité de votre entreprise, communiquez avec votre administrateur."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"En savoir plus"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Annuler"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"OK"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Profil professionnel"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Vous avez déjà un profil professionnel sur votre appareil. Voulez-vous le supprimer?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Voulez-vous vraiment supprimer ce profil professionnel? Toutes les données seront supprimées."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Supprimer"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Annuler"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Pour continuer la configuration de votre profil professionnel, vous devez chiffrer votre appareil. Cela peut prendre un certain temps."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Annuler"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Chiffrer"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Chiffrement terminé"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Touchez pour continuer la configuration de votre profil professionnel"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Impossible de configurer votre profil professionnel. Communiquez avec votre service informatique, ou réessayez plus tard."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Votre appareil ne prend pas en charge les profils professionnels"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Les profils professionnels doivent être configurés par le propriétaire de l\'appareil"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Votre profil professionnel n\'est pas pris en charge par cette application de lancement. Vous devrez utiliser un lanceur d\'applications compatible."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Annuler"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Utilisateur de l\'appareil professionnel"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Configurer l\'appareil"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Traitement des données de configuration…"</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Connexion Wi-Fi en cours…"</string>
+    <string name="progress_download" msgid="4995057798189799156">"Téléchargement application d\'administration…"</string>
+    <string name="progress_install" msgid="9169411715762296097">"Installation application d\'administration…"</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Définition du propriétaire de l\'appareil…"</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Arrêter la configuration?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Voulez-vous vraiment arrêter la configuration et supprimer les données de votre appareil?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Annuler"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"OK"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Réinitialiser"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Impossible de configurer votre appareil. Communiquez avec votre service informatique."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Cet appareil a déjà été configuré"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Impossible de se connecter au réseau Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Impossible d\'utiliser l\'application d\'administration en raison d\'une erreur de somme de contrôle. Communiquez avec votre service informatique."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Impossible de télécharger l\'application d\'administration"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Impossible d\'utiliser l\'application d\'administration. Des composants sont manquants ou corrompus. Communiquez avec votre service informatique."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Impossible d\'installer l\'application d\'administration"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"L\'application d\'administration n\'est pas installée sur votre appareil"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Arrêter la configuration?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Voulez-vous vraiment arrêter la configuration?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Non"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Oui"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Annulation en cours…"</string>
+</resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
new file mode 100644
index 0000000..bcab1e1
--- /dev/null
+++ b/res/values-fr/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Device Provisioner"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Petit problème…"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Configurer votre profil"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Ce profil est contrôlé et sécurisé par votre entreprise. Vous contrôlez tout le reste sur votre appareil."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"L\'application suivante devra pouvoir accéder à ce profil :"</string>
+    <string name="set_up" msgid="7012862095553564169">"Configurer"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Configuration de votre profil professionnel en cours…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Votre administrateur peut contrôler et gérer les paramètres, l\'accès aux contenus de l\'entreprise, les applications et les données associées à ce profil, y compris l\'activité réseau et les données de localisation de votre appareil."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Votre administrateur peut contrôler et gérer les paramètres, l\'accès aux contenus de l\'entreprise, les applications et les données associées à cet appareil, y compris l\'activité réseau et les informations de localisation de votre appareil."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Contactez votre administrateur pour obtenir plus d\'informations, y compris les règles de confidentialité de votre organisation."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"En savoir plus"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Annuler"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"OK"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Profil professionnel"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Vous avez déjà un profil professionnel sur votre appareil. Voulez-vous le supprimer ?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Voulez-vous vraiment supprimer ce profil professionnel ? Toutes les données associées seront supprimées."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Supprimer"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Annuler"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Pour continuer la configuration de votre profil professionnel, vous devez chiffrer votre appareil. Cela peut prendre un certain temps."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Annuler"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Chiffrer"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Chiffrement terminé"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Appuyez pour continuer la configuration de votre profil professionnel."</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Impossible de configurer votre profil professionnel. Contactez votre service informatique, ou réessayez plus tard."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Votre appareil n\'est pas compatible avec les profils professionnels."</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Les profils professionnels doivent être configurés par le propriétaire de l\'appareil."</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Votre profil professionnel n\'est pas compatible avec cette application de lanceur. Vous devez utiliser un lanceur compatible."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Annuler"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Utilisateur de l\'appareil professionnel"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Configurer l\'appareil"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Traitement des données de configuration…"</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Connexion Wi-Fi en cours…"</string>
+    <string name="progress_download" msgid="4995057798189799156">"Téléchargement application d\'administration…"</string>
+    <string name="progress_install" msgid="9169411715762296097">"Installation application d\'administration…"</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Définition du propriétaire de l\'appareil…"</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Arrêter la configuration ?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Voulez-vous vraiment arrêter la configuration et supprimer les données de votre appareil ?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Annuler"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"OK"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Réinitialiser"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Impossible de configurer votre appareil. Contactez votre service informatique."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Cet appareil est déjà configuré."</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Impossible de se connecter au réseau Wi-Fi."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Impossible d\'utiliser l\'application d\'administration en raison d\'une erreur de somme de contrôle. Contactez votre service informatique."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Impossible de télécharger l\'application d\'administration."</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Impossible d\'utiliser l\'application d\'administration. Des composants sont manquants ou corrompus. Contactez votre service informatique."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Impossible d\'installer l\'application d\'administration."</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"L\'application d\'administration n\'est pas installée sur votre appareil."</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Arrêter la configuration ?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Voulez-vous vraiment arrêter la configuration ?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Non"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Oui"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Annulation en cours..."</string>
+</resources>
diff --git a/res/values-gl-rES/strings.xml b/res/values-gl-rES/strings.xml
new file mode 100644
index 0000000..b7a6a01
--- /dev/null
+++ b/res/values-gl-rES/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Provedor do dispositivo"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Vaia!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Configura o teu perfil"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"A túa organización controla este perfil e manteno seguro. Ti controlas o resto do contido do dispositivo."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"A seguinte aplicación ten que acceder ao teu perfil:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Configurar"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Configurando o teu perfil de traballo..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"O teu administrador pode controlar e xestionar a configuración, o acceso corporativo, as aplicacións e os datos asociados ao perfil, incluída a actividade de rede e a información da localización do teu dispositivo."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"O teu administrador ten a capacidade de controlar e xestionar a configuración, o acceso corporativo, as aplicacións e os datos asociados a este dispositivo, incluída a actividade da rede e a información de localización do teu dispositivo."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Contacta co teu administrador para obter máis información, incluídas as políticas de privacidade da túa organización."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Máis información"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Cancelar"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"Aceptar"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Perfil do traballo"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Xa tes un perfil de traballo no teu dispositivo. Queres eliminalo?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Estás seguro de que queres eliminar este perfil de traballo? Eliminaranse todos os seus datos."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Eliminar"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Cancelar"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Para continuar coa configuración do teu perfil de traballo, necesitarás cifrar o teu dispositivo. Este proceso pode tardar uns minutos."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Cancelar"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Cifrar"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Cifrado completo"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Toca para continuar coa configuración do teu perfil de traballo"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Non se puido configurar o teu perfil de traballo. Ponte en contacto co departamento de TI ou téntao de novo máis tarde."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"O teu dispositivo non admite perfís de traballo"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"É necesario que o propietario do dispositivo configure os perfís de traballo."</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"O teu perfil de traballo non é compatible con esta aplicación do menú de aplicacións. Terás que cambiar a un menú de aplicacións compatible."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Cancelar"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Aceptar"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Usuario do dispositivo de traballo"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Configura o teu dispositivo"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Procesando datos de configuración..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Conectando coa wifi..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"Descargando a aplicación de administración..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"Instalando a aplicación de administración..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Definindo o propietario do dispositivo..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Queres deter a configuración?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Estás seguro de que queres deixar de configurar e borrar os datos do teu dispositivo?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Cancelar"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"Aceptar"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Restablecer"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Non se puido configurar o teu dispositivo. Ponte en contacto co departamento de TI."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Este dispositivo xa está configurado"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Non se puido conectar coa wifi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Non se puido utilizar a aplicación de administración debido a un erro da suma de verificación. Ponte en contacto co departamento de TI."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Non se puido descargar a aplicación de administración"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Non se pode utilizar a aplicación de administración. Fáltanlle compoñentes ou está danada. Ponte en contacto co departamento de TI."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Non se puido instalar a aplicación de administración"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"A aplicación de administración non está instalada no teu dispositivo"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Queres deter a configuración?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Estás seguro de que queres deter a configuración?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Non"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Si"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Cancelando..."</string>
+</resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
new file mode 100644
index 0000000..3456e6c
--- /dev/null
+++ b/res/values-hi/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"डिवाइस प्रावधानकर्ता"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"ओह!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"अपनी प्रोफ़ाइल सेट करें"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"आपका संगठन इस प्रोफ़ाइल को नियंत्रित करता है और उसे सुरक्षित रखता है. अपने डिवाइस पर सब कुछ आप नियंत्रित करते हैं."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"निम्नलिखित ऐप्स को इस प्रोफ़ाइल को एक्सेस करने की आवश्यकता होगी:"</string>
+    <string name="set_up" msgid="7012862095553564169">"सेट करें"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"आपकी कार्य प्रोफ़ाइल सेट की जा रही है..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"आपके व्यवस्थापक के पास नेटवर्क गतिविधि और आपके डिवाइस के स्थान की जानकारी सहित प्रोफ़ाइल से संबद्ध सेटिंग, कॉर्पोरेट एक्सेस, ऐप्स और डेटा की निगरानी करने और उसे प्रबंधित करने की क्षमता होती है."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"आपके व्यवस्थापक के पास नेटवर्क गतिविधि और आपके डिवाइस के स्थान की जानकारी सहित इस डिवाइस से संबद्ध सेटिंग, कॉर्पोरेट एक्सेस, ऐप्स और डेटा की निगरानी करने और उसे प्रबंधित करने की क्षमता होती है."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"अपने संगठन की गोपनीयता नीतियों सहित अधिक जानकारी के लिए अपने व्यवस्थापक से संपर्क करें."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"और जानें"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"रहने दें"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"ठीक"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"कार्य प्रोफ़ाइल"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"आपके डिवाइस पर एक कार्य प्रोफ़ाइल पहले से है. क्या आप उसे निकालना चाहते हैं?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"क्या आप वाकई इस कार्य प्रोफ़ाइल को निकालना चाहते हैं? उसका सभी डेटा निकाल दिया जाएगा."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"निकालें"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"रहने दें"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"सेट अप करना जारी रखने के लिए, आपको अपने डिवाइस को एन्क्रिप्ट करना होगा. इसमें कुछ समय लग सकता है."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"रहने दें"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"एन्‍क्रिप्‍ट करें"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"एन्‍क्रिप्‍शन पूर्ण"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"अपनी कार्य प्रोफ़ाइल को सेट करना जारी रखने के लिए स्‍पर्श करें"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"आपकी कार्य प्रोफ़ाइल सेट नहीं की जा सकी. अपने IT विभाग से संपर्क करें या बाद में पुन: प्रयास करें."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"आपका डिवाइस कार्य प्रोफ़ाइल का समर्थन नहीं करता"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"कार्य प्रोफ़ाइल डिवाइस के स्वामी द्वारा सेट अप की जानी चाहिए"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"आपकी कार्य प्रोफ़ाइल इस लॉन्चर ऐप्स द्वारा समर्थित नहीं है. आपको किसी संगत लॉन्चर पर स्विच करना होगा."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"रहने दें"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"ठीक"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"कार्य डिवाइस का उपयोगकर्ता"</string>
+    <string name="setup_device" msgid="6725265673245816366">"अपना डिवाइस सेट करें"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"सेटअप डेटा संसाधित हो रहा है..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"वाई-फ़ाई  से कनेक्ट हो रहा है..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"व्यवस्थापक ऐप्स डाउनलोड हो रहा है..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"व्यवस्थापक ऐप्स इंस्टॉल हो रहा है..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"डिवाइस स्वामी सेट किया जा रहा है..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"सेट अप करना रोकें?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"क्या आप वाकई सेट करना बंद करके अपने डिवाइस का डेटा मिटाना चाहते हैं?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"रहने दें"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"ठीक"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"रीसेट करें"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"आपका डिवाइस सेट नहीं किया जा सका. अपने IT विभाग से संपर्क करें."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"यह डिवाइस पहले ही सेट किया जा चुका है"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"वाई-फ़ाई से कनेक्‍ट नहीं हो सका"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"चेकसम त्रुटि के कारण व्यवस्थापक ऐप्स का उपयोग नहीं किया जा सका. अपने IT विभाग से संपर्क करें."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"व्यवस्थापक ऐप्स डाउनलोड नहीं किया जा सका"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"व्यवस्थापक ऐप्स का उपयोग नहीं किया जा सकता. उसमें घटक अनुपलब्ध हैं या वे दूषित हैं. अपने IT विभाग से संपर्क करें."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"व्यवस्थापक ऐप्स इंस्टॉल नहीं किया जा सका"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"व्यवस्थापक ऐप्स आपके डिवाइस पर इंस्टॉल नहीं है"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"सेट करना रोकें?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"क्या आप वाकई सेट किए जाने को रोकना चाहते हैं?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"नहीं"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"हां"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"रोका जा रहा है..."</string>
+</resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
new file mode 100644
index 0000000..ef5cd86
--- /dev/null
+++ b/res/values-hr/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Pružatelj usluga na uređaju"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Ups!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Postavite svoj profil"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Vaša organizacija kontrolira i štiti ovaj profil. Vi kontrolirate sve ostalo na svojem uređaju."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Sljedeća aplikacija morat će pristupiti ovom profilu:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Postavi"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Postavljanje radnog profila..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Vaš administrator može nadzirati postavke, korporacijski pristup, aplikacije i podatke povezane s profilom te upravljati njima, uključujući aktivnosti na mreži i podatke o lokaciji uređaja."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Vaš administrator može nadzirati postavke, korporacijski pristup, aplikacije i podatke povezane s ovim uređajem te njima upravljati, uključujući aktivnosti na mreži i podatke o lokaciji uređaja."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Za više informacija, uključujući pravila o privatnosti organizacije, obratite se administratoru."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Saznajte više"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Odustani"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"U redu"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Radni profil"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Već imate radni profil na svom uređaju. Želite li ga ukloniti?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Jeste li sigurni da želite ukloniti ovaj radni profil? Svi će podaci biti izbrisani."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Ukloni"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Odustani"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Da biste nastavili s postavljanjem svog radnog profila, morat ćete šifrirati uređaj. To može potrajati."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Odustani"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Šifriranje"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Enkripcija je dovršena"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Dodirnite da biste nastavili postavljati radni profil"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Postavljanje vašeg radnog profila nije uspjelo. Obratite se IT odjelu ili pokušajte ponovno kasnije."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Vaš uređaj ne podržava radne profile."</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Radne profile mora postaviti vlasnik uređaja"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Ta aplikacija pokretača ne podržava vaš radni profil. Morat ćete prijeći na kompatibilni pokretač."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Odustani"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"U redu"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Korisnik radnog uređaja"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Postavljanje uređaja"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Obrada podataka o postavljanju..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Povezivanje s Wi-Fi mrežom..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"Preuzimanje administratorske aplikacije..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"Instaliranje administratorske aplikacije..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Postavljanje vlasnika uređaja..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Prekinuti postavljanje?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Jeste li sigurni da želite zaustaviti postavljanje i izbrisati podatke uređaja?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Odustani"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"U redu"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Vrati na zadano"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Postavljanje uređaja nije uspjelo. Obratite se IT odjelu."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Ovaj je uređaj već postavljen"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Spajanje na Wi-Fi nije uspjelo"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Upotreba administratorske aplikacije nije uspjela zbog pogreške kontrolnog zbroja. Obratite se IT odjelu."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Preuzimanje administratorske aplikacije nije uspjelo"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Administratorska aplikacija ne može se upotrebljavati. Nedostaju joj neke komponente ili je oštećena. Obratite se IT odjelu."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Instaliranje administratorske aplikacije nije uspjelo"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Na uređaju nije instalirana administratorska aplikacija"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Želite li prekinuti postavljanje?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Jeste li sigurni da želite prekinuti postavljanje?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Ne"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Da"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Otkazivanje..."</string>
+</resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
new file mode 100644
index 0000000..dfea90e
--- /dev/null
+++ b/res/values-hu/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Eszközhozzáférés-kezelő"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Hoppá!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Profil beállítása"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Ezt a profilt szervezete kezeli, és gondoskodik annak biztonságáról. Az eszközön minden mást Ön kezel."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"A következő alkalmazásnak kell hozzáférnie a profilhoz:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Beállítás"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Munkaprofil beállítása…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"A rendszergazda felügyelheti és kezelheti a beállításokat, a vállalatszintű hozzáférést, az alkalmazásokat, illetve a profillal társított adatokat, így például a hálózati tevékenységeket és az eszköz helyadatait."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"A rendszergazda felügyelheti és kezelheti a beállításokat, a vállalatszintű hozzáférést, az alkalmazásokat, illetve az ezzel az eszközzel társított adatokat, beleértve a hálózati tevékenységeket és az eszköz helyadatait."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Vegye fel a kapcsolatot rendszergazdájával, ha további információt szeretne kapni, például szervezetének adatvédelmi irányelveiről."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"További információ"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Mégse"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"OK"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Munkaprofil"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Már van munkaprofilja eszközén. Eltávolítja?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Biztosan eltávolítja a munkaprofilt? Annak minden adata törlődik."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Eltávolítás"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Mégse"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"A munkaprofil beállításának folytatásához titkosítania kell az eszközét. Ez eltarthat egy ideig."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Mégse"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Titkosítás"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"A titkosítás kész"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"A munkaprofil beállításának folytatásához érintse meg"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Munkaprofil beállítása sikertelen. Forduljon az informatikai részleghez, vagy próbálja újra később."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Eszköze nem támogatja a munkaprofilokat"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Munkaprofilokat csak az eszköz tulajdonosa állíthat be"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Az Ön munkahelyi profilját nem támogatja ez az indítóalkalmazás. Egy kompatibilis indítóra kell váltania."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Mégse"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"A munkahelyi eszköz felhasználója"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Eszköz beállítása"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Beállítási adatok feldolgozása…"</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Kapcsolódás Wi-Fi-hez…"</string>
+    <string name="progress_download" msgid="4995057798189799156">"Rendszergazda-alkalmazás letöltése…"</string>
+    <string name="progress_install" msgid="9169411715762296097">"Rendszergazda-alkalmazás telepítése…"</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Az eszköz tulajdonosának beállítása…"</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Megszakítja a beállítást?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Biztos benne, hogy megszakítja a beállítást, és törli eszköze adatait?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Mégse"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"OK"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Visszaállítás"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Nem sikerült az eszköz beállítása. Forduljon az informatikai részleghez."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Az eszközt már beállították"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Nem sikerült csatlakozni a Wi-Fi hálózathoz"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Ellenőrzési hiba miatt nem sikerült letölteni a rendszergazda-alkalmazást. Forduljon az informatikai részleghez."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Nem lehetett letölteni a rendszergazdai alkalmazást"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"A rendszergazda-alkalmazás nem használható, mivel egyes elemei hiányoznak vagy sérültek. Forduljon az informatikai részleghez."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Nem lehetett telepíteni a rendszergazdai alkalmazást"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"A rendszergazdai alkalmazás nincs telepítve eszközén"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Megszakítja a beállítást?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Biztosan megszakítja a beállítást?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Nem"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Igen"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Megszakítás…"</string>
+</resources>
diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy-rAM/strings.xml
new file mode 100644
index 0000000..205a3a2
--- /dev/null
+++ b/res/values-hy-rAM/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Սարքի մատակարար"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Վա՜յ:"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Կարգավորեք ձեր պրոֆիլը"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Ձեր կազմակերպությունը վերահսկում է այս պրոֆիլը և պաշտպանում է այն: Ձեր սարքի մնացած ամեն ինչը վերահսկում եք ինքներդ:"</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Անհրաժեշտ է, որ հետևյալ հավելվածը մուտք գործի այս պրոֆիլ՝"</string>
+    <string name="set_up" msgid="7012862095553564169">"Ստեղծել"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Ձեր աշխատանքային պրոֆիլը կարգավորվում է..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Ձեր ադմինիստրատորը կարող է վերահսկել և կառավարել սարքի կարգավորումները, կորպորատիվ մուտքը, ծրագրերը և պրոֆիլի հետ կապակցված տվյալները, այդ թվում՝ ցանցային գործունեությունը և ձեր սարքի տեղադրության մասին տվյալները:"</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Ձեր ադմինիստրատորը կարող է վերահսկել և կառավարել կարգավորումները, կորպորատիվ մուտքը, հավելվածները և այս սարքի հետ կապակցված տվյալները՝ ներառյալ ցանցային գործունեությունը և ձեր սարքերի տեղադրության վերաբերյալ տվյալները:"</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Լրացուցիչ տեղեկությունների համար, ինչպես նաև ձեր ընկերության գաղտնիության քաղաքականությանը ծանոթանալու համար դիմեք ձեր ադմինիստրատորին:"</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Մանրամասն"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Չեղարկել"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"Լավ"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Աշխատանքային պրոֆիլ"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Դուք ձեր սարքի վրա արդեն ունեք աշխատանքային պրոֆիլ: Ցանկանում եք հեռացնե՞լ այն:"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Իրո՞ք հեռացնել այս աշխատանքային պրոֆիլը: Նրանում առկա բոլոր տվյալները կջնջվեն:"</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Հեռացնել"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Չեղարկել"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Կարգավորումը շարունակելու համար պետք է կոդավորեք ձեր սարքը: Կոդավորումը կարող է որոշ ժամանակ պահանջել:"</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Չեղարկել"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Կոդավորել"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Կոդավորումն ավարտվեց"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Հպեք՝ ձեր աշխատանքային պրոֆիլի կարգավորումը շարունակելու համար"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Չհաջողվեց ստեղծել ձեր աշխատանքը պրոֆիլը: Դիմեք ձեր տեխնիկական սպասարկման բաժին կամ փորձեք մի փոքր ուշ:"</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Ձեր սարքը չի աջակցում աշխատանքային պրոֆիլներ"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Աշխատանքային պրոֆիլները պետք է կարգավորի սարքի սեփականատերը"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Ձեր պրոֆիլը չի աջակցվում այս գործարկչի կողմից: Դուք պետք է փոխարկեք դեպի որևէ աջակցող գործարկիչ:"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Չեղարկել"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Լավ"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Աշխատանքային սարքի օգտագործող"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Կարգավորեք ձեր սարքը"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Կարգավորման տվյալները մշակվում են..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Միանում է Wi-Fi-ին..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"Ներբեռնվում է ադմինիստրատորի ծրագիրը..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"Տեղադրվում է ադմինիստրատորի ծրագիրը..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Սահմանվում է սարքի սեփականատերը..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Դադարեցնե՞լ կարգավորումը:"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Համոզվա՞ծ եք, որ ցանկանում եք դադարեցնել կարգավորումը և ջնջել սարքի տվյալները:"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Չեղարկել"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"Լավ"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Վերակայել"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Չհաջողվեց կարգավորել ձեր սարքը: Դիմեք ձեր տեխնիկական սպասարկման բաժին:"</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Այս սարքն արդեն կարգաբերված է"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Չհաջողվեց միանալ Wi-Fi-ին"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Հնարավոր չէ օգտագործել ադմինիստրատորի ծրագիրը՝ ստուգման սխալի պատճառով: Դիմեք ձեր տեխնիկական սպասարկման բաժին:"</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Չհաջողվեց ներբեռնել ադմինիստրատորի հավելվածը"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Հնարավոր չէ օգտագործել ադմինիստրատորի ծրագիրը: Դրանում բացակայում են բաղադրիչներ կամ այն թերի է: Դիմեք ձեր տեխնիկական սպասարկման բաժին:"</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Չհաջողվեց տեղադրել ադմինիստրատորի հավելվածը"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Ադմինիստրատորի հավելվածը տեղադրված չէ ձեր սարքում"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Դադարեցնե՞լ կարգավորումը:"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Դադարեցնե՞լ կարգավորումը:"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Ոչ"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Այո"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Չեղարկում..."</string>
+</resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
new file mode 100644
index 0000000..1b2879c
--- /dev/null
+++ b/res/values-in/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Penyedia Perangkat"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Ups!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Siapkan profil Anda"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Organisasi Anda mengontrol profil ini dan membuatnya tetap aman. Anda mengontrol hal-hal lain di perangkat."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Aplikasi berikut perlu mengakses profil ini:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Siapkan"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Menyiapkan profil kerja Anda..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Administrator Anda memiliki kemampuan untuk memantau dan mengelola setelan, akses perusahaan, aplikasi, dan data yang terkait dengan profil ini, termasuk aktivitas jaringan dan informasi lokasi perangkat Anda."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Administrator Anda memiliki kemampuan untuk memantau dan mengelola setelan, akses perusahaan, aplikasi, dan data yang terkait dengan perangkat ini, termasuk aktivitas jaringan dan informasi lokasi perangkat Anda."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Hubungi administrator untuk informasi selengkapnya, termasuk kebijakan privasi organisasi Anda."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Pelajari lebih lanjut"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Batal"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"Oke"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Profil kerja"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Anda sudah memiliki profil kerja di perangkat. Ingin membuangnya?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Yakin ingin membuang profil kerja ini? Semua datanya akan dihapus."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Buang"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Batal"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Untuk melanjutkan penyiapan profil kerja, Anda perlu mengenkripsi perangkat. Hal ini dapat membutuhkan waktu beberapa lama."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Batal"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Enkripsikan"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Enkripsi selesai"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Sentuh untuk melanjutkan penyiapan profil kerja"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Tidak dapat menyiapkan profil kerja Anda. Hubungi departemen TI atau coba lagi nanti."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Perangkat Anda tidak mendukung profil kerja"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Profil kerja perlu disiapkan oleh pemilik perangkat"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Profil kerja Anda tidak didukung oleh peluncur aplikasi ini. Anda perlu beralih ke peluncur yang kompatibel."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Batal"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Oke"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Pengguna perangkat kerja"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Siapkan perangkat Anda"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Memproses data penyiapan..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Menyambungkan ke Wi-Fi..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"Mengunduh aplikasi admin..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"Memasang aplikasi admin..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Menyetel pemilik perangkat..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Berhenti menyiapkan?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Yakin ingin berhenti menyiapkan dan menghapus data perangkat Anda?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Batal"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"Oke"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Setel ulang"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Tidak dapat menyiapkan perangkat. Hubungi departemen TI Anda."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Perangkat ini telah disiapkan"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Tidak dapat tersambung ke Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Tidak dapat menggunakan aplikasi admin karena kesalahan checksum. Hubungi departemen TI Anda."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Tidak dapat mengunduh aplikasi admin"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Tidak dapat menggunakan aplikasi admin. Komponen hilang atau rusak. Hubungi departemen TI Anda."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Tidak dapat memasang aplikasi admin"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Aplikasi admin belum terpasang di perangkat Anda"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Berhenti menyiapkan?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Yakin ingin berhenti menyiapkan?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Tidak"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Ya"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Membatalkan..."</string>
+</resources>
diff --git a/res/values-is-rIS/strings.xml b/res/values-is-rIS/strings.xml
new file mode 100644
index 0000000..a645b23
--- /dev/null
+++ b/res/values-is-rIS/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Tækjaúthlutun"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Úbbs!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Settu upp snið"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Fyrirtækið þitt stjórnar þessu sniði og heldur því öruggu. Þú hefur stjórn yfir öllu öðru í tækinu."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Eftirfarandi forrit mun þurfa að fá aðgang að þessu sniði:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Setja upp"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Setur upp vinnusniðið þitt..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Kerfisstjórinn þinn getur fylgst með og stjórnað stillingum, fyrirtækjaaðgangi, forritum og gögnum sem tengjast þessu sniði, þar á meðal netnotkun og staðsetningarupplýsingum tækisins."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Kerfisstjórinn þinn getur fylgst með og stjórnað stillingum, fyrirtækjaaðgangi, forritum og gögnum sem tengjast þessu tæki, þar á meðal netnotkun og staðsetningarupplýsingum tækisins."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Hafðu samband við kerfisstjórann til að fá frekari upplýsingar, þar á meðal um persónuverndarstefnu fyrirtækisins."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Frekari upplýsingar"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Hætta við"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"Í lagi"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Vinnusnið"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Þú ert þegar með vinnusnið á tækinu þínu. Viltu fjarlægja það?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Ertu viss um að þú viljir fjarlægja þetta vinnusnið? Öllum gögnum þess verður eytt."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Fjarlægja"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Hætta við"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Til að halda uppsetningu vinnusniðsins áfram þarftu að dulkóða tækið þitt. Þetta getur tekið svolitla stund."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Hætta við"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Dulrita"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Dulkóðun lokið"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Snertu til að halda áfram að setja upp vinnusnið"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Ekki var hægt að setja upp vinnusniðið þitt. Hafðu samband við upplýsingatæknisvið eða reyndu aftur síðar."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Tækið þitt styður ekki vinnusnið"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Eigandi tækisins verður að setja vinnusniðið upp"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Ræsiforritið styður ekki vinnusniðið þitt. Þú þarft að skipta yfir í ræsiforrit með stuðningi."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Hætta við"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Í lagi"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Notandi vinnutækis"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Uppsetning tækis"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Vinnur úr uppsetningargögnum..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Tengist Wi-Fi..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"Sækir stjórnforritið..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"Setur upp stjórnforritið..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Stillir eiganda tækisins..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Hætta uppsetningu?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Ertu viss um að þú viljir hætta uppsetningu og eyða gögnum tækisins þíns?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Hætta við"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"Í lagi"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Endurstilla"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Ekki var hægt að setja upp tækið. Hafðu samband við upplýsingatæknisvið."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Þetta tæki er nú þegar uppsett"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Ekki var hægt að tengjast Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Ekki var hægt að nota stjórnforritið vegna villu í þversummu. Hafðu samband við upplýsingatæknisvið."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Ekki tókst að sækja stjórnunarforritið"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Ekki er hægt að nota stjórnforritið. Það skortir íhluti eða er skemmt. Hafðu samband við upplýsingatæknisvið."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Ekki tókst að setja stjórnunarforritið upp"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Stjórnunarforritið er ekki uppsett á tækinu þínu"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Hætta uppsetningu?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Ertu viss um að þú viljir hætta uppsetningu?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Nei"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Já"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Hættir við..."</string>
+</resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
new file mode 100644
index 0000000..d40b2a5
--- /dev/null
+++ b/res/values-it/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Provisioner dispositivo"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Ops!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Configura il tuo profilo"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"La tua organizzazione controlla questo profilo e lo tiene protetto, mentre tu controlli tutto il resto sul dispositivo."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"La seguente app dovrà accedere a questo profilo:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Configura"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Impostazione di un profilo di lavoro..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"L\'amministratore ha la possibilità di monitorare e gestire impostazioni, accesso aziendale, app e dati associati al profilo, incluse l\'attività di rete e le informazioni sulla posizione del dispositivo."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"L\'amministratore ha la possibilità di monitorare e gestire impostazioni, accesso aziendale, app e dati associati al dispositivo, incluse l\'attività di rete e le informazioni sulla posizione del dispositivo."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Per ulteriori informazioni, contatta il tuo amministratore e consulta le norme sulla privacy della tua organizzazione."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Ulteriori informazioni"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Annulla"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"OK"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Profilo di lavoro"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Hai già un profilo di lavoro sul dispositivo. Vuoi rimuoverlo?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Vuoi rimuovere questo profilo di lavoro? Tutti i dati associati verranno eliminati."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Rimuovi"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Annulla"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Per continuare la configurazione del profilo di lavoro, dovrai crittografare il dispositivo. L\'operazione potrebbe richiedere del tempo."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Annulla"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Crittografa"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Crittografia completa"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Tocca per continuare a configurare il profilo di lavoro"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Impossibile impostare il tuo profilo di lavoro. Contatta il tuo reparto IT oppure riprova in un secondo momento."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Il tuo dispositivo non supporta profili di lavoro"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"I profili di lavoro devono essere configurati dal proprietario del dispositivo"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Il tuo profilo di lavoro non è supportato da questa app Avvio applicazioni. Devi passare a un\'app Avvio applicazioni compatibile."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Annulla"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Utente del dispositivo di lavoro"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Configurazione del dispositivo"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Elaborazione dati di impostazione..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Connessione a rete Wi-Fi..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"Download dell\'app dell\'amministratore..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"Installazione dell\'app dell\'amministratore..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Impostazione del proprietario dispositivo..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Interrompere la configurazione?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Vuoi interrompere l\'impostazione e cancellare i dati del tuo dispositivo?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Annulla"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"OK"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Reimposta"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Impossibile impostare il dispositivo. Contatta il tuo reparto IT."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Questo dispositivo è già configurato"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Impossibile connettersi alla rete Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Impossibile utilizzare l\'app dell\'amministratore per un errore di checksum. Contatta il tuo reparto IT."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Impossibile scaricare l\'app di amministrazione"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Impossibile utilizzare l\'app dell\'amministratore per componenti mancanti o danneggiati. Contatta il tuo reparto IT."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Impossibile installare l\'app di amministrazione"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"L\'app di amministrazione non è stata installata sul tuo dispositivo"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Interrompere la configurazione?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Vuoi interrompere la configurazione?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"No"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Sì"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Annullamento in corso..."</string>
+</resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
new file mode 100644
index 0000000..37d73de
--- /dev/null
+++ b/res/values-iw/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"ספק המכשיר"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"אופס!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"הגדרת הפרופיל שלך"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"הארגון שלך שולט בפרופיל זה ושומר על אבטחתו. אתה שולט בשאר האפשרויות במכשיר."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"האפליקציה הבאה תצטרך לגשת לפרופיל זה:"</string>
+    <string name="set_up" msgid="7012862095553564169">"הגדר"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"מגדיר את פרופיל העבודה שלך..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"מנהל המערכת שלך יכול לבצע מעקב ולנהל הגדרות, גישה ארגונית, אפליקציות ונתונים המשויכים לפרופיל, כולל פעילות ברשת ומידע על מיקום המכשיר."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"מנהל המערכת יכול לבצע מעקב ולנהל הגדרות, גישה ארגונית, אפליקציות ונתונים המשויכים למכשיר זה, כולל פעילות ברשת ומידע על מיקום המכשיר."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"פנה למנהל המערכת לקבלת מידע נוסף, כולל מדיניות הפרטיות של הארגון."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"למידע נוסף"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"בטל"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"אישור"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"פרופיל עבודה"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"כבר יש לך פרופיל עבודה במכשיר. האם ברצונך להסיר אותו?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"האם אתה בטוח שברצונך להסיר פרופיל עבודה זה? כל הנתונים שלו יימחקו."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"הסר"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"בטל"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"כדי להמשיך בהגדרת פרופיל העבודה, יהיה עליך להצפין את המכשיר. פעולה זו עשויה להימשך זמן מה."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"בטל"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"הצפן"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"ההצפנה הושלמה"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"גע כדי להמשיך בהגדרת פרופיל העבודה שלך"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"‏לא ניתן להגדיר את פרופיל העבודה שלך. צור קשר עם מחלקת ה-IT או נסה שוב מאוחר יותר."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"המכשיר שלך אינו תומך בפרופילי עבודה"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"הבעלים של המכשיר צריך להגדיר את פרופילי העבודה"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"פרופיל העבודה שלך אינו נתמך על ידי אפליקציית ההפעלה הזו. יהיה עליך לעבור למפעיל אפליקציות תואם."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"בטל"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"אישור"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"משתמש של מכשיר עבודה"</string>
+    <string name="setup_device" msgid="6725265673245816366">"הגדרת המכשיר שלך"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"מעבד נתונים להגדרה..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"‏מתחבר ל-Wi-Fi..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"מוריד את אפליקציית הניהול..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"מתקין את אפליקציית הניהול..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"מגדיר את בעל המכשיר..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"להפסיק את תהליך ההגדרה?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"האם אתה בטוח שברצונך להפסיק את ההגדרה ולמחוק את נתוני המכשיר שלך?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"בטל"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"אישור"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"אפס"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"‏לא ניתן להגדיר את המכשיר. צור קשר עם מחלקת ה-IT שלך."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"מכשיר זה כבר מוגדר"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"‏אין אפשרות להתחבר ל-Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"‏לא ניתן להשתמש באפליקציית הניהול עקב שגיאה בסיכום הביקורת. צור קשר עם מחלקת ה-IT שלך."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"לא ניתן להוריד את אפליקציית הניהול"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"‏לא ניתן להשתמש באפליקציית הניהול. חסרים בה מרכיבים או שהיא פגומה. צור קשר עם מחלקת ה-IT שלך."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"לא ניתן להתקין את אפליקציית הניהול"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"אפליקציית הניהול לא מותקנת במכשיר שלך"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"האם להפסיק את תהליך ההגדרה?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"האם אתה בטוח שברצונך להפסיק את תהליך ההגדרה?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"לא"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"כן"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"מבטל..."</string>
+</resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
new file mode 100644
index 0000000..68ec04c
--- /dev/null
+++ b/res/values-ja/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Device Provisioner"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"エラー"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"プロフィールをセットアップ"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"このプロフィールは組織が管理し、保護します。プロフィール以外の端末上のものはすべて個人で管理します。"</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"次のアプリはこのプロフィールにアクセスする必要があります。"</string>
+    <string name="set_up" msgid="7012862095553564169">"セットアップ"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"ワークプロフィールをセットアップしています..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"管理者は、ネットワークアクティビティや端末の位置情報など、プロフィールに関連付けられた設定、コーポレートアクセス、アプリ、データを監視および管理できます。"</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"管理者は、ネットワークアクティビティや端末の位置情報など、この端末に関連付けられた設定、コーポレートアクセス、アプリ、データを監視および管理できます。"</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"組織のプライバシーポリシーなど詳しくは管理者にお問い合わせください。"</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"詳細"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"キャンセル"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"OK"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"ワークプロフィール"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"端末にワークフロフィールが既にあります。このプロフィールを削除しますか？"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"このワークプロフィールを削除してもよろしいですか？プロフィールのデータはすべて削除されます。"</string>
+    <string name="delete_profile" msgid="7107020982626129151">"削除"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"キャンセル"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"ワークプロフィールのセットアップを続行するには、端末を暗号化する必要があります。これにはしばらく時間がかかる場合があります。"</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"キャンセル"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"暗号化"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"暗号化が完了"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"引き続きワークプロフィールをセットアップするにはタップしてください"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"ワークプロフィールをセットアップできませんでした。IT部門にお問い合わせいただくか、しばらくしてからもう一度お試しください。"</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"お使いの端末はワークプロフィールをサポートしていません。"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"ワークプロフィールは端末の所有者がセットアップする必要があります"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"このランチャーアプリはワークプロフィールに対応していません。互換性のあるランチャーに切り替える必要があります。"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"キャンセル"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"業務用端末のユーザー"</string>
+    <string name="setup_device" msgid="6725265673245816366">"端末のセットアップ"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"セットアップデータを処理しています..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Wi-Fiに接続しています..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"管理アプリをダウンロードしています..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"管理アプリをインストールしています..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"端末の所有者を設定しています..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"セットアップを中止しますか？"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"セットアップを停止して端末のデータを消去してもよろしいですか？"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"キャンセル"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"OK"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"リセット"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"端末をセットアップできませんでした。IT部門にお問い合わせください。"</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"この端末は既にセットアップ済みです"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fiに接続できませんでした"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"チェックサムエラーのため管理アプリを使用できませんでした。IT部門にお問い合わせください。"</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"管理アプリをダウンロードできませんでした"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"管理アプリを使用できません。このアプリはコンポーネントがないか、破損しています。IT部門にお問い合わせください。"</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"管理アプリをインストールできませんでした"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"管理アプリが端末にインストールされていません"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"セットアップを中止しますか？"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"セットアップを中止してもよろしいですか？"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"いいえ"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"はい"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"キャンセル中..."</string>
+</resources>
diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka-rGE/strings.xml
new file mode 100644
index 0000000..8e1daf6
--- /dev/null
+++ b/res/values-ka-rGE/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"მოწყობილობის დამნერგავი"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"უკაცრავად!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"თქვენი პროფილის დაყენება"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"თქვენი ორგანიზაცია აკონტროლებს ამ პროფილს და მის უსაფრთხოებას. ყველაფერ დანარჩენს კი თქვენ აკონტროლებთ თქვენს მოწყობილობაზე."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"შემდეგ აპს ამ პროფილზე წვდომა დაჭირდება:"</string>
+    <string name="set_up" msgid="7012862095553564169">"დაყენება"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"თქვენი სამუშაო პროფილის დაყენება..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"თქვენი კომპანიის ადმინისტრატორს შეუძლია ამ მოწყობილობასთან ასოცირებული პარამეტრების, კორპორატიული წვდომის, აპებისა და მონაცემების მონიტორინგი და მართვა, მათ შორის, ქსელის აქტივობისა და თქვენი მოწყობილობის მდებარეობის ინფორმაციის."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"თქვენი კომპანიის ადმინისტრატორს შეუძლია ამ მოწყობილობასთან ასოცირებული პარამეტრების, კორპორატიული წვდომის, აპებისა და მონაცემების მონიტორინგი და მართვა, მათ შორის, ქსელის აქტივობისა და თქვენი მოწყობილობის მდებარეობის ინფორმაციის."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"დამატებითი ინფორმაციისათვის, მათ შორის, თქვენი კომპანიის კონფიდენციალურობის დებულებასთან დაკავშირებით, დაუკავშირდით თქვენს ადმინისტრატორს."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"შეიტყვეთ მეტი"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"გაუქმება"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"კარგი"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"სამუშაო პროფილი"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"თქვენ უკვე გაქვთ სამუშაო პროფილი თქვენს მოწყობილობაზე. გსურთ მისი წაშლა?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"დარწმუნებული ხართ, რომ გსურთ ამ სამუშაო პროფილის წაშლა? მისი ყველა მონაცემი წაიშლება."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"ამოშლა"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"გაუქმება"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"თქვენი სამუშაო პროფილის შექმნის გასაგრძელებლად, უნდა დაშიფროთ თქვენი მოწყობილობა. ამას შესაძლოა გარკვეული დრო დასჭირდეს."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"გაუქმება"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"დაშიფრვა"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"დაშიფვრა დასრულდა"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"თქვენი სამუშაო პროფილის დაყენების გასაგრძელებლად"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"თქვენი სამუშაო პროფილი ვერ შეიქმნა. დაუკავშირდით თქვენს IT განყოფილებას ან სცადეთ ისევ."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"თქვენს მოწყობილობას არ აქვს სამუშაო პროფილების მხარდაჭერა"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"სამუშაო პროფილები უნდა შექმნას მოწყობილობის მფლობელმა"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"თქვენი პროფილი ამ გამშვები აპის მიერ მხარდაჭერილი არ არის. მოგიწევთ გადახვიდეთ თავსებად გამშვებზე."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"გაუქმება"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"კარგი"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"სამუშაო მოწყობილობის მომხმარებელი"</string>
+    <string name="setup_device" msgid="6725265673245816366">"თქვენი მოწყობილობის დაყენება"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"დაყენების მონაცმეების დამუშავება..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Wi-Fi-სთან დაკავშირება..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"ადმინისტრატორის აპის ჩამოტვირთვა..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"ადმინისტრატორის აპის ინსტალაცია..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"მოწყობილობის მფლობელის დაყენება..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"დაყენების შეჩერება?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"დარწმუნებული ხართ, რომ გსურთ დაყენების შეჩერება და თქვენი მოწყობილობის მონაცემების ამოშლა?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"გაუქმება"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"კარგი"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"ჩამოყრა"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"თქვენი მოწყობილობის დაყენება ვერ მოხერხდა. დაუკავშირდით თქვენს IT განყოფილებას."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"ეს მოწყობილობა უკვე დაყენებულია."</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi-თან დაკავშირება ვერ მოხერხდა"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"ადმინისტრატორის აპის გამოყენება ვერ მოხერხდა checksum-ის შეცდომის გამო. დაუკავშირდით თქვენს IT განყოფილებას."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"ადმინისტრატორის აპის ჩამოტვირთვა ვერ მოხერხდა."</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"ადმინისტრატორის აპის გამოყენება ვერ მოხერხდა. მას აკლია კომპონენტები, ან დაზიანებულია. დაუკავშირდით თქვენს IT განყოფილებას."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"ადმინისტრატორის აპი ვერ დაინსტალირდა."</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"ადმინისტრატორის აპი არ არის დაინსტალირებული თქვენს მოწყობილობაზე."</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"გსურთ, მომართვის შეჩერება?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"დარწმუნებული ხართ, რომ მომართვის შეწყვეტა გსურთ?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"არა"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"კი"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"უქმდება..."</string>
+</resources>
diff --git a/res/values-kk-rKZ/strings.xml b/res/values-kk-rKZ/strings.xml
new file mode 100644
index 0000000..4486b12
--- /dev/null
+++ b/res/values-kk-rKZ/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Device Provisioner"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Ой!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Профильді орнату"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Ұйымыңыз осы профильді басқарады және оны қауіпсіз сақтайды. Сіз құрылғыдағы барлық басқа нәрселерді басқарасыз."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Келесі қолданбаға осы профильге қатынасу қажет болады:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Реттеу"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Жұмыс профиліңіз реттелуде…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Әкімшіде параметрлерді, қауымдық қатынасты, қолданбаларды және профильмен байланысты деректерді, соның ішінде, желілік белсенділікті және құрылғыңыздың орны туралы ақпаратты бақылау және басқару мүмкіндігі бар."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Әкімшіде параметрлерді, қауымдық қатынасты, қолданбаларды және осы құрылғымен байланысты деректерді, соның ішінде, желілік белсенділікті және құрылғының орны туралы ақпаратты бақылау және басқару мүмкіндігі бар."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Қосымша ақпарат, соның ішінде, компанияның құпиялық саясаттары туралы ақпарат алу үшін әкімшіге хабарласыңыз."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Қосымша мәліметтер"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Бас тарту"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"Жарайды"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Жұмыс профилі"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Сізде құрылғыңызда жұмыс профилі әлдеқашан бар. Оны жойғыңыз келе ме?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Осы жұмыс профилін жою керек пе? Оның барлық деректері жойылады."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Алып тастау"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Бас тарту"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Жұмыс профиліңізді реттеуді жалғастыру үшін құрылғыңызды шифрлауыңыз керек. Бұл біраз уақыт алуы мүмкін."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Бас тарту"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Шифрлау"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Шифрлау аяқталды"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Жұмыс профилін орнатуды жалғастыру үшін түртіңіз"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Жұмыс профиліңізді реттеу мүмкін болмады. АТ бөліміне хабарласыңыз немесе әрекетті кейінірек қайталаңыз."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Құрылғыңыз жұмыс профильдерін қолдамайды"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Жұмыс профильдерін құрылғы иесі реттеу керек"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Жұмыс профиліңізді осы қосқыш қолданба қолдамайды. Үйлесімді қосқышқа ауысу керек."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Бас тарту"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Жарайды"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Жұмыс құрылғысының пайдаланушысы"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Құрылғыны реттеу"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Реттеу деректері өңделуде…"</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Wi-Fi желісіне қосылу орындалуда…"</string>
+    <string name="progress_download" msgid="4995057798189799156">"Әкімші қолданбасы жүктелуде…"</string>
+    <string name="progress_install" msgid="9169411715762296097">"Әкімші қолданбасы орнатылуда…"</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Құрылғы иесі орнатылуда…"</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Реттеуді тоқтату керек пе?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Реттеуді тоқтату және құрылғы деректерін өшіру керек пе?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Бас тарту"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"Жарайды"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Қалпына келтіру"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Құрылғыңызды реттеу мүмкін болмады. АТ бөліміне хабарласыңыз."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Бұл құрылғы реттеліп қойылған"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi желісіне қосылу мүмкін болмады"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Бақылау сомасының қатесіне байланысты әкімші қолданбасын пайдалану мүмкін болмады. АТ бөліміне хабарласыңыз."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Әкімші қолданбасын жүктеу мүмкін болмады"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Әкімші қолданбасын пайдалану мүмкін емес. Оның құрамдастары жетіспейді немесе ол бүлінген. АТ бөліміне хабарласыңыз."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Әкімші қолданбасын орнату мүмкін болмады"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Құрылғыңызда әкімші қолданбасы орнатылмаған"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Реттеуді тоқтату керек пе?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Реттеуді тоқтату керек пе?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Жоқ"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Иә"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Бас тартылуда…"</string>
+</resources>
diff --git a/res/values-km-rKH/strings.xml b/res/values-km-rKH/strings.xml
new file mode 100644
index 0000000..09081ff
--- /dev/null
+++ b/res/values-km-rKH/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"តម្រូវ​ការ​ឧបករណ៍"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"អូ​!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"រៀបចំ​ប្រវត្តិរូប​របស់​អ្នក"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"ស្ថាប័ន​របស់​អ្នកពិនិត្យ​ប្រវត្តិរូប​នេះ ហើយ​រក្សាទុក​វា​​ដោយ​សុវត្ថិភាព។ អ្នក​ពិនិត្យ​អ្វីៗ​ផ្សេង​ទៀត​នៅ​លើ​ឧបករណ៍​របស់​អ្នក។"</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"កម្មវិធី​ខាង​ក្រោម​​នឹង​ត្រូវ​ចូល​ដំណើរការ​ប្រវត្តិរូប​របស់​អ្នក៖"</string>
+    <string name="set_up" msgid="7012862095553564169">"រៀបចំ"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"កំពុង​រៀបចំ​ប្រវត្តិរូប​ការងារ​របស់​អ្នក..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"អ្នក​គ្រប់គ្រង​របស់​អ្នកមាន​លទ្ធភាព​តាមដាន និង​គ្រប់គ្រង​ការ​​កំណត់​, ការ​ចូល​ដំណើរការ​​រួមគ្នា​, កម្មវិធី និង​ទិន្នន័យ​បាន​ភ្ជាប់​ជា​មួយ​ប្រវត្តិរូប​រួមមាន សកម្មភាព​បណ្ដាញ និង​ព័ត៌មាន​ទីតាំង​ឧបករណ៍​របស់​អ្នក។"</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"អ្នក​គ្រប់គ្រង​របស់​អ្នក​អាច​ពិនិត្យ និង​គ្រប់គ្រង​ការ​កំណត់ កា​រ​ចូល​ដំណើរការ​រួមគ្នា កម្មវិធី និង​ទិន្នន័យ​ពាក់ព័ន្ធ​ជាមួយ​ឧបករណ៍​នេះ រួមមាន​សកម្មភាព​បណ្ដាញ និង​ព័ត៌មាន​ទីតាំង​ឧបករណ៍​របស់​អ្នក។"</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"ទាក់ទង​អ្នក​គ្រប់គ្រង​របស់​អ្នក​សម្រាប់​ព័ត៌មាន​បន្ថែម រួមមាន​គោលនយោបាយ​ភាព​ឯកជន​ស្ថាប័ន​​របស់​អ្នក។"</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"ស្វែងយល់​បន្ថែម"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"បោះបង់"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"យល់ព្រម"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"ប្រវត្តិរូប​ការងារ"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"អ្នក​មាន​ប្រវត្តិរូប​ការងារ​នៅ​លើ​ឧបករណ៍​របស់​អ្នក​រួច​ហើយ។ តើ​អ្នក​ចង់​លុប​វា​ចេញ​ឬ?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"តើ​អ្នក​ពិតជា​ចង់​លុប​ប្រវត្តិរូប​ការងារ​នេះឬ? ទិន្នន័យ​ទាំងអស់​របស់​វា​នឹង​ត្រូវ​បាន​លុប។"</string>
+    <string name="delete_profile" msgid="7107020982626129151">"លុបចេញ"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"បោះបង់"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"ដើម្បី​បន្ត​រៀបចំ​ប្រវត្តិរូប​ការងារ​របស់​អ្នក អ្នក​ត្រូវ​ដាក់​លេខ​កូដ​ឧបករណ៍​របស់​អ្នក។ វា​អាច​ប្រើ​ពេល​មួយ​រយៈ។"</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"បោះបង់"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"ដាក់​លេខ​កូដ"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"ការ​ដាក់​លេខ​កូដ​បាន​បញ្ចប់"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"ប៉ះ​ដើម្បី​បន្ត​ការ​រៀបចំ​ប្រវត្តិរូប​ការងារ​របស់​អ្នក"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"មិន​អាច​រៀបចំ​ប្រវត្តិរូប​ការងារ​របស់​អ្នក។ ទាក់ទង​ផ្នែក​បច្ចេកវិទ្យា​ព័ត៌មាន​របស់​អ្នក ឬ​ព្យាយាម​ម្ដងទៀត​ពេល​ក្រោយ។"</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"ឧបករណ៍​របស់​អ្នក​មិន​គាំទ្រ​ប្រវត្តិរូប​ការងារ។"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"ប្រវត្តិរូប​ការងារ​ចាំបាច់​ត្រូវ​តែ​បាន​រៀបចំ​​ដោយ​ម្ចាស់​ឧបករណ៍"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"ប្រវត្តិរូប​ការងារ​របស់​អ្នក​មិន​ត្រូវ​បាន​គាំទ្រ​ដោយ​កម្មវិធី​ launcher នេះ​នៅ​ឡើយ​ទេ។ អ្នក​នឹង​ត្រូវ​ប្ដូរ​ទៅ launcher ដែល​ត្រូវ​គ្នា។"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"បោះបង់"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"យល់ព្រម"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"អ្នកប្រើ​ឧបករណ៍​ការងារ"</string>
+    <string name="setup_device" msgid="6725265673245816366">"រៀបចំ​ឧបករណ៍​របស់​អ្នក"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"កំពុង​ដំណើរការ​រៀបចំ​ទិន្នន័យ..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"កំពុង​ភ្ជាប់​វ៉ាយហ្វាយ..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"កំពុង​ទាញ​យក​កម្មវិធី​របស់​អ្នក​គ្រប់គ្រង..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"កំពុង​ដំឡើង​កម្មវិធី​របស់​អ្នកគ្រប់គ្រង..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"កំពុង​រៀបចំ​ម្ចាស់​ឧបករណ៍..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"បញ្ឈប់​ការ​រៀបចំ?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"តើ​អ្នក​ប្រាកដ​ជា​ចង់​បញ្ឈប់​ការ​រៀបចំ ហើយ​លុប​ទិន្នន័យ​ក្នុង​ឧបករណ៍​របស់​អ្នក?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"បោះបង់"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"យល់ព្រម"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"កំណត់​ឡើងវិញ"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"មិន​អាច​រៀបចំ​ឧបករណ៍​របស់​អ្នក។ ទាក់ទង​ផ្នែក​បច្ចេកវិទ្យា​ព័ត៌មាន​របស់​អ្នក។"</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"ឧបករណ៍​នេះ​ត្រូវ​បាន​រៀបចំ​រួចហើយ"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"មិន​​អាច​តភ្ជាប់​វ៉ាយហ្វាយ"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"មិន​អាច​ប្រើ​កម្មវិធី​របស់​អ្នកគ្រប់គ្រង ដោយសារ​កំហុស​​ឆែកសាំ​។​ ទាក់ទង​ផ្នែក​បច្ចេកវិទ្យា​ព័ត៌មាន​របស់​អ្នក។"</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"មិន​អាច​ទាញ​យក​កម្មវិធី​គ្រប់គ្រង"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"មិន​អាច​ប្រើ​កម្មវិធី​របស់​អ្នក​គ្រប់គ្រង។ វា​បាត់​សមាសធាតុ ឬ​ក៏​ខូច។ ទាក់ទង​ផ្នែក​បច្ចេកវិទ្យា​ព័ត៌មាន​របស់​អ្នក។"</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"មិន​អាច​ដំឡើង​កម្មវិធី​គ្រប់គ្រង"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"កម្មវិធី​គ្រប់គ្រង​មិន​ត្រូវ​បាន​ដំឡើង​នៅ​លើ​ឧបករណ៍​របស់​អ្នក"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"បញ្ឈប់​ការ​រៀបចំ?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"តើ​អ្នក​ប្រាកដ​ជា​ចង់​បញ្ឈប់​ការ​រៀបចំ​?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"ទេ"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"បាទ/ចាស"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"កំពុង​​បោះបង់..."</string>
+</resources>
diff --git a/res/values-kn-rIN/strings.xml b/res/values-kn-rIN/strings.xml
new file mode 100644
index 0000000..a05f044
--- /dev/null
+++ b/res/values-kn-rIN/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"ಸಾಧನ ಪೂರೈಕೆದಾರ"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"ಓಹ್!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"ನಿಮ್ಮ ಪ್ರೊಫೈಲ್ ಹೊಂದಿಸಿ"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"ಈ ಪ್ರೊಫೈಲ್‌ ಅನ್ನು ನಿಮ್ಮ ಸಂಸ್ಥೆಯು ನಿಯಂತ್ರಿಸುತ್ತದೆ ಹಾಗೂ ಅದನ್ನು ಸುರಕ್ಷಿತವಾಗಿ ಕಾಪಾಡುತ್ತದೆ. ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿರುವ ಪ್ರತಿಯೊಂದನ್ನೂ ನೀವು ನಿಯಂತ್ರಿಸಬಹುದು."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"ಕೆಳಗಿನ ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಈ ಪ್ರೊಫೈಲ್ ಪ್ರವೇಶಿಸುವ ಅಗತ್ಯವಿದೆ:"</string>
+    <string name="set_up" msgid="7012862095553564169">"ಹೊಂದಿಸು"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"ನಿಮ್ಮ ಕೆಲಸದ ಪ್ರೊಫೈಲ್ ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"ನಿಮ್ಮ ನಿರ್ವಾಹಕರು ನೆಟ್‌ವರ್ಕ್ ಚಟುವಟಿಕೆ ಮತ್ತು ನಿಮ್ಮ ಸಾಧನದ ಸ್ಥಳ ಮಾಹಿತಿಯೂ ಒಳಗೊಂಡಂತೆ, ಸೆಟ್ಟಿಂಗ್‌ಗಳು, ಕಾರ್ಪೊರೇಟ್ ಪ್ರವೇಶ, ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಹಾಗೂ ಈ ಪ್ರೊಫೈಲ್‌ಗೆ ಸಂಬಂಧಿಸಿದ ಡೇಟಾ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುವ ಮತ್ತು ನಿರ್ವಹಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿರುತ್ತಾರೆ."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"ನಿಮ್ಮ ನಿರ್ವಾಹಕರು ನೆಟ್‌ವರ್ಕ್ ಚಟುವಟಿಕೆ ಮತ್ತು ನಿಮ್ಮ ಸಾಧನದ ಸ್ಥಳ ಮಾಹಿತಿಯನ್ನು ಒಳಗೊಂಡಂತೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳು, ಕಾರ್ಪೊರೇಟ್ ಪ್ರವೇಶ, ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಹಾಗೂ ಈ ಸಾಧನದೊಂದಿಗೆ ಸಂಬಂಧಿಸಿದ ಡೇಟಾವನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುವ ಮತ್ತು ನಿರ್ವಹಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿದ್ದಾರೆ."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"ನಿಮ್ಮ ಸಂಸ್ಥೆಯ ಗೌಪ್ಯತೆ ನೀತಿಗಳನ್ನು ಒಳಗೊಂಡಂತೆ, ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"ರದ್ದುಮಾಡು"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"ಸರಿ"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"ಕೆಲಸದ ಪ್ರೊಫೈಲ್"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ನೀವು ಈಗಾಗಲೇ ಕೆಲಸದ ಪ್ರೊಫೈಲ್‌ ಅನ್ನು ಹೊಂದಿರುವಿರಿ. ಅದನ್ನು ನೀವು ತೆಗೆದುಹಾಕಲು ಬಯಸುವಿರಾ?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"ಈ ಕೆಲಸದ ಪ್ರೊಫೈಲ್‌ ಅನ್ನು ತೆಗೆದುಹಾಕಲು ನೀವು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ? ಅದರ ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"ತೆಗೆದುಹಾಕಿ"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"ರದ್ದುಮಾಡು"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"ನಿಮ್ಮ ಕೆಲಸದ ಪ್ರೊಫೈಲ್‌ ಹೊಂದಿಸುವುದನ್ನು ಮುಂದುವರಿಸಲು, ನಿಮ್ಮ ಸಾಧನವನ್ನು ನೀವು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಬೇಕಾದ ಅಗತ್ಯವಿದೆ. ಇದು ಸ್ವಲ್ಪ ಸಮಯವನ್ನು ತೆಗೆದುಕೊಳ್ಳಬಹುದು."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"ರದ್ದುಮಾಡು"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"ಎನ್‌ಕ್ರಿಪ್ಟ್‌‌ ಮಾಡಿ"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಪೂರ್ಣಗೊಂಡಿದೆ"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"ನಿಮ್ಮ ಕೆಲಸದ ಪ್ರೊಫೈಲ್ ಅನ್ನು ಹೊಂದಿಸುವುದನ್ನು ಮುಂದುವರಿಸಲು ಸ್ಪರ್ಶಿಸಿ"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"ನಿಮ್ಮ ಕೆಲಸದ ಪ್ರೊಫೈಲ್ ಹೊಂದಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ. ನಿಮ್ಮ IT ವಿಭಾಗವನ್ನು ಸಂಪರ್ಕಿಸಿ ಅಥವಾ ನಂತರ ಮತ್ತೊಮ್ಮೆ ಪ್ರಯತ್ನಿಸಿ."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"ನಿಮ್ಮ ಸಾಧನವು ಕೆಲಸದ ಪ್ರೊಫೈಲ್‌ಗಳನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"ಕೆಲಸದ ಪ್ರೊಫೈಲ್‌ಗಳನ್ನು ಸಾಧನದ ಮಾಲೀಕರಿಂದ ಹೊಂದಿಸುವ ಅಗತ್ಯವಿದೆ"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"ನಿಮ್ಮ ಕೆಲಸದ ಪ್ರೊಫೈಲ್‌ ಈ ಲಾಂಚರ್‌‌ ಅಪ್ಲಿಕೇಶನ್‌ನಿಂದ ಬೆಂಬಲಿತವಾಗಿಲ್ಲ. ನೀವು, ಹೊಂದಿಕೆಯಾಗುವಂತಹ ಲಾಂಚರ್‌‌ಗೆ ಬದಲಾಯಿಸುವ ಅಗತ್ಯವಿದೆ."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"ರದ್ದುಮಾಡು"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"ಸರಿ"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"ಕೆಲಸದ ಸಾಧನದ ಬಳಕೆದಾರರು"</string>
+    <string name="setup_device" msgid="6725265673245816366">"ನಿಮ್ಮ ಸಾಧನವನ್ನು ಹೊಂದಿಸಿ"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"ಸೆಟಪ್ ಡೇಟಾ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗುತ್ತಿದೆ..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Wi-Fi ಗೆ ಸಂಪರ್ಕಪಡಿಸಲಾಗುತ್ತಿದೆ..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"ನಿರ್ವಹಣೆ ಅಪ್ಲಿಕೇಶನ್ ಡೌನ್‌ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"ನಿರ್ವಹಣೆ ಅಪ್ಲಿಕೇಶನ್ ಸ್ಥಾಪಿಸಲಾಗುತ್ತಿದೆ..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"ಸಾಧನ ಮಾಲೀಕರನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"ಹೊಂದಿಸುವುದನ್ನು ನಿಲ್ಲಿಸುವುದೇ?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"ನೀವು ಹೊಂದಾಣಿಕೆಯನ್ನು ನಿಲ್ಲಿಸಲು ಮತ್ತು ನಿಮ್ಮ ಸಾಧನದ ಡೇಟಾವನ್ನು ಅಳಿಸಲು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"ರದ್ದುಮಾಡು"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"ಸರಿ"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"ಮರುಹೊಂದಿಸು"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"ನಿಮ್ಮ ಸಾಧನವನ್ನು ಹೊಂದಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ. ನಿಮ್ಮ IT ವಿಭಾಗವನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"ಈ ಸಾಧನವನ್ನು ಈಗಾಗಲೇ ಹೊಂದಿಸಲಾಗಿದೆ"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi ಗೆ ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"ಚೆಕ್‌ಸಮ್ ದೋಷ ಎದುರಾಗಿರುವ ಕಾರಣ ನಿರ್ವಹಣೆ ಅಪ್ಲಿಕೇಶನ್ ಬಳಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ. ನಿಮ್ಮ IT ವಿಭಾಗವನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"ನಿರ್ವಹಣೆ ಅಪ್ಲಿಕೇಶನ್ ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"ನಿರ್ವಹಣೆ ಅಪ್ಲಿಕೇಶನ್ ಬಳಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಇದರಲ್ಲಿ ಕಾಂಪೊನೆಂಟ್‌ಗಳು ಕಾಣೆಯಾಗಿವೆ ಅಥವಾ ದೋಷಪೂರಿತವಾಗಿವೆ, ನಿಮ್ಮ IT ವಿಭಾಗವನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"ನಿರ್ವಹಣೆ ಅಪ್ಲಿಕೇಶನ್‌ ಸ್ಥಾಪಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"ನಿರ್ವಹಣೆ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ಸ್ಥಾಪಿಸಲಾಗಿಲ್ಲ"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"ಹೊಂದಿಸುವುದನ್ನು ನಿಲ್ಲಿಸುವುದೇ?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"ಹೊಂದಿಸುವುದನ್ನು ನೀವು ನಿಲ್ಲಿಸಲು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"ಇಲ್ಲ"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"ಹೌದು"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"ರದ್ದುಗೊಳಿಸಲಾಗುತ್ತಿದೆ..."</string>
+</resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
new file mode 100644
index 0000000..44f6f47
--- /dev/null
+++ b/res/values-ko/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"기기 공급자"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"이런!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"프로필 설정"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"기기에서 프로필에 대한 제어와 보안 유지는 조직에서 담당하고, 나머지는 내가 관리합니다."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"이 프로필에 액세스해야 하는 앱:"</string>
+    <string name="set_up" msgid="7012862095553564169">"설정"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"직장 프로필 설정 중..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"관리자는 네트워크 활동 및 기기의 위치 정보를 비롯하여 프로필과 연결된 데이터, 설정, 기업 액세스, 앱을 모니터링하고 관리할 수 있습니다."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"관리자는 설정, 기업 액세스, 앱, 이 기기와 관련된 데이터(예: 네트워크 활동, 기기의 위치 정보)를 모니터링하고 관리할 수 있습니다."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"조직의 개인정보취급방침을 비롯한 자세한 내용은 관리자에게 문의하세요."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"자세히 알아보기"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"취소"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"확인"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"직장 프로필"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"기기에 이미 직장 프로필이 있습니다. 삭제하시겠습니까?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"직장 프로필을 삭제하시겠습니까? 데이터가 모두 삭제됩니다."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"삭제"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"취소"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"직장 프로필 설정을 계속하려면 기기를 암호화해야 합니다. 이 작업은 다소 시간이 걸릴 수 있습니다."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"취소"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"암호화"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"암호화 완료"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"계속해서 직장 프로필을 설정하려면 터치하세요."</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"직장 프로필을 설정할 수 없습니다. IT 부서에 문의하거나 나중에 다시 시도해 주시기 바랍니다."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"직장 프로필을 지원하지 않는 기기입니다."</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"직장 프로필은 기기 소유자만 설정할 수 있습니다."</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"이 런처 앱은 직장 프로필을 지원하지 않습니다. 호환되는 런처로 전환해야 합니다."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"취소"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"확인"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"업무 기기의 사용자"</string>
+    <string name="setup_device" msgid="6725265673245816366">"기기 설정"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"설정 데이터 처리 중..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Wi-Fi에 연결 중..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"관리 앱 다운로드 중..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"관리 앱 설치 중..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"기기 소유자 설정 중..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"설정을 중지하시겠습니까?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"설정을 중단하고 기기의 데이터를 삭제하시겠습니까?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"취소"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"확인"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"초기화"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"기기를 설정할 수 없습니다. IT 부서에 문의해 주시기 바랍니다."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"기기가 이미 설정되었습니다."</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi에 연결할 수 없습니다."</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"체크섬 오류로 인해 관리 앱을 사용할 수 없습니다. IT 부서에 문의해 주시기 바랍니다."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"관리 앱을 다운로드할 수 없습니다."</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"관리 앱을 사용할 수 없습니다. 구성요소가 없거나 손상되었습니다. IT 부서에 문의해 주시기 바랍니다."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"관리 앱을 설치할 수 없습니다."</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"기기에 관리 앱이 설치되어 있지 않습니다."</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"설정을 중지하시겠습니까?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"설정을 중지하시겠습니까?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"아니요"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"예"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"취소 중..."</string>
+</resources>
diff --git a/res/values-ky-rKG/strings.xml b/res/values-ky-rKG/strings.xml
new file mode 100644
index 0000000..0d3fcef
--- /dev/null
+++ b/res/values-ky-rKG/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Түзмөктү Камсыздоочу"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Ой!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Профилиңизди орнотуңуз"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Ишканаңыз бул профилди көзөмөлдөп, коопсуздугун камсыз кылып турат. Түзмөгүңүздөгү калган нерсенин бардыгын өзүңүз көзөмөлдөйсүз."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Төмөнкү колдонмо бул профилди колдонушу керек."</string>
+    <string name="set_up" msgid="7012862095553564169">"Тууралоо"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Жумуш профилиңиз негизделүүдө…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Администраторуңуз жөндөөлөрдү, корпоративдик колдонуу мүмкүнчүлүгүн, колдонмолорду жана профилге байланыштуу дайындарды, ошондой эле тармактагы аракеттерди жана түзмөгүңүздүн жайгашкан жер маалыматын көзөмөлдөп жана башкара алат."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Администраторуңуз жөндөөлөрдү, корпоративдик кирүү мүмкүнчүлүгүн, колдонмолорду жана ушул түзмөкө байланыштуу дайындарды, ошондой эле тармактагы аракеттер менен түзмөгүңүздүн жайгашкан жери тууралуу маалыматты көзөмөлдөп, башкара алат."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Көбүрөөк маалымат жана ишканаңыздын купуялуулук саясаттарын билүү үчүн администраторуңузга кайрылыңыз."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Көбүрөөк билүү"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Жокко чыгаруу"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"OK"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Жумуш профили"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Түзмөгүңүздө мурунтан эле жумуш профили бар. Аны алып саласызбы?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Бул жумуш профилин чын эле алып салгыңыз келеби? Андагы бардык дайындар жок кылынат."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Алып салуу"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Жокко чыгаруу"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Жумуш профилиңизди орнотууну улантуу үчүн, түзмөгүңүздү шифрлешиңиз керек. Буга бир аз убакыт талап кылынышы мүмкүн."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Жокко чыгаруу"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Шифрлөө"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Шифрлөө аяктады"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Жумуш профилиңизди орнотууну улантуу үчүн тийип коюңуз"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Жумуш профилиңиз негизделген жок. IT бөлүмүңүзгө кайрылыңыз же бир аздан кийин дагы аракет кылып көрүңүз."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Түзмөгүңүздө жумуш профилдери колдоого алынбайт"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Жумуш профилдерин түзмөктүн ээси орнотушу керек"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Жумуш профилиңизде бул ишке киргизгич колдонмосу колдоого албайт. Дал келе турган жүргүзгүчкө которулушуңуз керек."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Жокко чыгаруу"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Жарайт"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Жумуш түзмөгүн колдонуучу"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Түзмөгүңүздү негиздөө"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Негиздөө дайындары иштетилүүдө…"</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Wi-Fi\'га туташууда…"</string>
+    <string name="progress_download" msgid="4995057798189799156">"Администратор колдонмосу жүктөлүп алынууда…"</string>
+    <string name="progress_install" msgid="9169411715762296097">"Администратор колдонмосу орнотулууда…"</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Түзмөк ээси коюлууда…"</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Орнотуу токтотулсунбу?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Негиздөөнү токтотуп, түзмөгүңүздүн дайындарын өчүрүп салгыңыз келеби?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Жокко чыгаруу"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"OK"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Баштапкы абалга келтирүү"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Түзмөгүңүз негизделген жок. IT бөлүмүңүзгө кайрылыңыз."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Бул түзмөк мурунтан эле түзүлгөн"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi\'га туташкан жок"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Жыйынтыктоочу сумма катасынан улам, администратордун колдонмосу иштеген жок. IT бөлүмүңүзгө кайрылыңыз."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Администратор колдонмосу жүктөлүп алынган жок"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Администратор колдонмосу иштебей жатат. Анын айрым курамдык бөлүктөрү жок же бузук. IT бөлүмүңүзгө кайрылыңыз."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Администратор колдонмосу орнотулган жок"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Түзмөгүңүздө администратор колдонмосу орнотулган эмес"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Орнотуу токтотулсунбу?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Орнотуу чын эле токтотулсунбу?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Жок"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Ооба"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Жокко чыгарылууда…"</string>
+</resources>
diff --git a/res/values-large/dimens.xml b/res/values-large/dimens.xml
index 5389172..5a6a7f7 100644
--- a/res/values-large/dimens.xml
+++ b/res/values-large/dimens.xml
@@ -20,8 +20,8 @@
 
     <!-- Main text -->
     <dimen name="main_text_padding_left_right">40dp</dimen>
+    <dimen name="main_text_padding_top">16dp</dimen>
     <dimen name="main_text_margins_left_right">64dp</dimen>
-    <dimen name="main_text_container_padding_top">16dp</dimen>
 
     <!-- Title -->
     <dimen name="title_height">80dp</dimen>
diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo-rLA/strings.xml
new file mode 100644
index 0000000..3905c22
--- /dev/null
+++ b/res/values-lo-rLA/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Device Provisioner"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"ອຸຍ!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"​ຕັ້ງ​ຄ່າ​ໂປ​ຣ​ໄຟລ໌​ຂອງ​ທ່ານ"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"ອົງ​ກອນ​ຂອງ​ທ່ານ​ຄວບ​ຄຸມໂປຣ​ໄຟລ໌​ນີ້​ ແລະ​​ເຮັດ​ໃຫ້​ມັນ​ປອດ​ໄພ. ຢ່າງ​ອື່ນໆ​ໃນ​ອຸ​ປະ​ກອນ​ຂອງ​ທ່ານ​ແມ່ນ​ທ່ານ​​ເປັນ​ຜູ່ຄວບ​ຄຸມ​."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"ແອັບຯ​ຕໍ່​ໄປ​ນີ້​ຈະຕ້ອງ​ການ​ເຂົ້າ​ເຖິງ​ໂປຣ​ໄຟລ໌​ນີ້:"</string>
+    <string name="set_up" msgid="7012862095553564169">"ຕັ້ງຄ່າ"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"ກຳ​ລັງ​ຕັ້ງ​ຄ່າ​​ໂປຣ​ໄຟລ໌​ບ່ອນ​ເຮັດ​ວຽກ​ຂອງ​ທ່ານ..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"​ຜູ່​ເບິ່ງ​ແຍງ​ລະ​ບົບ​​ຂອງ​ທ່ານ​ແມ່ນ​ມີ​ຄວາມ​ສາ​ມາດ​ໃນ​ການ​ຕິດ​ຕາມ ແລະ​ຈັດ​ການ​ກ​ານ​ຕັ້ງ​ຄ່າ, ​ການ​ເຂົ້າ​ເຖິງ​ໃນ​ອົງ​ກອນ, ​ແອັບຯ ແລະ​ຂໍ້​ມູນ​ທີ່​ເຊື່ອມ​ໂຍງ​ກັບ​ໂປຣ​ໄຟລ໌​ນີ້​ໄດ້, ຮວມ​ເຖິງ​ການ​ເຄື່ອນ​ໄຫວ​ໃນ​ລະ​ບົບ​ເຄືອ​ຂ່າຍ ແລະ​ຂໍ້​ມູນ​ສະ​ຖານ​ທີ່​ຂອງ​ອຸ​ປະ​ກອນ​ຂອງ​ທ່ານ."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"​ຜູ່​ເບິ່ງ​ແຍງ​ລະ​ບົບ​ຂອງ​ທ່ານ​ແມ່ນ​ມີ​ຄວາມ​ສາ​ມາດ​ໃນ​ການ​ຕິດ​ຕາມ ແລະຈັດ​ການ​ການ​ຕັ້ງ​ຄ່າ, ​ການ​ເຂົ້າ​ເຖິງ​ໃນ​ອົງ​ກອນ, ​ແອັບຯ ​ແລະຂໍ້​ມູນ​ທີ່​ກ່ຽວ​ຂ້ອງ​ກັບ​ອຸ​ປະ​ກອນ​ນີ້​ໄດ້, ຮວມ​ເຖິງ​ການ​ເຄື່ອນ​ໄຫວ​ໃນ​ລະ​ບົບ​ເຄືອ​ຂ່າຍ ແລະຂໍ້​ມູນ​ສະ​ຖານ​ທີ່​ຂອງ​ອຸ​ປະ​ກອນ​ຂອງ​ທ່ານ."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"ໃຫ້​ຕິດ​ຕໍ່​ຜູ່​ເບິ່ງ​ແຍງ​ລະ​ບົບ​ຂອງ​ທ່ານ​ສຳ​ລັບ​ຂໍ້​ມູນ​ເພີ່ມ​ເຕີມ, ຮວມ​ໄປ​ເຖິງ​ນະ​ໂຍ​ບາຍ​ຄວາມ​ເປັນ​ສ່ວນ​ໂຕ​ຂອງ​ອົງ​ກອນ​ຂອງ​ທ່ານ."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"ສຶກ​ສາ​ເພີ່ມ​ເຕີມ"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"​ຍົກ​ເລີກ"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"ຕົກລົງ"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"​ໂປຣ​ໄຟລ໌​ບ່ອນ​ເຮັດ​ວຽກ"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"ທ່ານ​ມີ​ໂ​ປຣ​ໄຟລ໌​ບ່ອນ​ເຮັດ​ວຽກ​ໃນ​ອຸ​ປະ​ກອນ​ຂອງ​ທ່ານ​ຢູ່​ແລ້ວ. ທ່ານ​​ຕ້ອງ​ການ​ລຶບ​ອອກບໍ່?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"​ທ່ານ​ແນ່​ໃຈ​ບໍ່​ວ່າ​​ຕ້ອງ​ການ​ລຶບ​ໂປຣ​ໄຟລ໌​ບ່ອນ​ເຮັດ​ວຽກ​ນີ້​ອອກ? ຂໍ້​ມູ​ນ​ທັງ​ໝົດ​ຂອງ​ມັນ​ຈະ​ຖືກ​ລຶບ​ອອກ."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"ລຶບ"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"​ຍົກ​ເລີກ"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"​ເພື່ອ​ສືບ​ຕໍ່​ຕັ້ງ​ຄ່າ​ໂປຣ​ໄຟລ໌​ບ່ອນ​ເຮັດ​ວຽກ​ຂອງ​ທ່ານ, ທ່ານ​ຈະ​ຕ້ອງ​ເຂົ້າ​ລະ​ຫັດ​ອຸ​ປະ​ກອນ​ຂອງ​ທ່ານ​ກ່ອນ. ຂັ້ນ​ຕອນ​ນີ້​ຈະ​ໃຊ້​ເວ​ລາ​ໄລ​ຍະ​ນຶ່ງ."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"​ຍົກ​ເລີກ"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"​ເຂົ້າ​ລະ​ຫັດ"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"ການ​ເຂົ້າ​ລະ​ຫັດ​ສຳ​ເລັດ​ແລ້ວ"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"ແຕະ​ເພື່ອ​ສືບ​ຕໍ່​ການ​ຕັ້ງ​ຄ່າ​ໂປຣ​ໄຟລ໌​ບ່ອນ​ເຮັດ​ວຽກ​ຂອງ​ທ່ານ."</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"ບໍ່​ສາ​ມາດ​ຕັ້ງ​ຄ່າ​ໂປຣ​ໄຟລ໌​ບ່ອນ​ເຮັດ​ວຽກ​ໄດ້. ກະ​ລຸ​ນາ​ຕິດ​ຕໍ່​ພະ​ແນກ​ໄອ​ທີ​ຂອງ​ທ່ານ ຫຼື​ລອງ​ໃໝ່​ໃນ​ພາຍຫຼັງ."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"ອຸ​ປະ​ກອນ​ຂອງ​ທ່ານບໍ່​ຮອງ​ຮັບ​ໂປຣ​ໄຟລ໌​ບ່ອນ​ເຮັດ​ວຽກ"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"​ເຈົ້າ​ຂອງ​ອຸ​ປະ​ກອນ​ຕ້ອງ​ຕັ້ງ​ຄ່າ​ໂປຣ​ໄຟລ໌​ບ່ອນ​ເຮັດ​ວຽກ."</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"ໂປຣ​ໄຟລ໌​ບ່ອນ​ເຮັດ​ວຽກ​ຂອງ​ທ່ານບໍ່​ຮອງ​ຮັບ​ແອັບຯ Launcher ນີ້. ທ່ານ​ຈະ​ຕ້ອງ​ສະ​ລັບ​ໄປ​ໃຊ້ Launcher ທີ່​ໃຊ້​ຮ່ວມ​ກັນ​ໄດ້."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"​ຍົກ​ເລີກ"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"ຕົກລົງ"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"​​ຜູ່​ໃຊ້​ອຸ​ປະ​ກອນ​ບ່ອນ​ເຮັດ​ວຽກ"</string>
+    <string name="setup_device" msgid="6725265673245816366">"ຕັ້ງ​ຄ່າ​ອຸ​ປະ​ກອນ​ຂອງ​ທ່ານ"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"ກຳ​ລັງ​ປະ​ມວນ​ຜົນ​ຂໍ້​ມູນ​ການ​ຕັ້ງ​ຄ່າ..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"ກຳ​ລັງ​ເຊື່ອມ​ຕໍ່​ຫາ Wi-Fi..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"ກຳ​ລັງ​ດາວ​ໂຫລດ​ແອັບຯ​ຜູ່​ເບິ່ງ​ແຍງ​ລະ​ບົບ..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"ກຳ​ລັງ​ຕິດ​ຕັ້ງ​ແອັບຯ​ຜູ່​ເບິ່ງ​ແຍງ​ລະ​ບົບ..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"ກຳ​ລັງ​ຕັ້ງ​ຄ່າ​ເຈົ້າ​ຂອງ​ອຸ​ປະ​ກອນ..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"ຢຸດ​ການ​ຕັ້ງ​ຄ່າ​ບໍ??"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"ທ່ານ​ແນ່​ໃຈ​ບໍ່​ວ່າ​ຕ້ອງ​ການ​ຢຸດ​ການ​ຕັ້ງ​ຄ່າ ແລະ​ລຶບ​ຂໍ້​ມູນ​ອຸ​ປະ​ກອນ​ຂອງ​ທ່ານ​ອອກ?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"​ຍົກ​ເລີກ"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"ຕົກລົງ"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"ຣີເຊັດ"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"​ບໍ່​ສາ​ມາດ​ຕັ້ງ​ຄ່າ​ອຸ​ປະ​ກອນ​ຂອງ​ທ່ານ​ໄດ້. ໃຫ້​ຕິດ​ຕໍ່​​ພະ​ແນກ​ໄອ​ທີ​ຂອງ​ທ່ານ."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"​ອຸ​ປະ​ກອນ​ນີ້​ຖືກ​ຕັ້ງ​ຄ່າ​ໄວ້​ແລ້ວ"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"ບໍ່​ສາ​ມາດ​ເຊື່ອມ​ຕໍ່ Wi-Fi ໄດ້"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"ບໍ່​ສາ​ມາດ​​ໃຊ້​ແອັບຯ​ຜູ່​ເບິ່ງ​ແຍງ​ລະ​ບົບ​ໄດ້​ເນື່ອງ​ຈາກ checksum ຜິດ​ພາດ. ໃຫ້​ຕິດ​ຕໍ່​ພະ​ແນກ​ໄອ​ທີ​ຂອງ​ທ່ານ."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"ບໍ່​ສາ​ມາດ​ດາວ​ໂຫລດ​ແອັບຯ​ຜູ່​ເບິ່ງ​ແຍງ​ລະ​ບົບ​ໄດ້"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"ບໍ່​ສາ​ມາດ​ໃຊ້​ແອັບຯ​ຜູ່​ເບິ່ງ​ແຍງ​ລະ​ບົບ​ໄດ້. ມັນ​ຂາດ​ອົງ​ປະ​ກອບທີ່​ຕ້ອງ​ໃຊ້ ຫຼື​​ໄຟລ໌​ມີ​ບັນ​ຫາ. ໃຫ້​ຕິດ​ຕໍ່​ພະ​ແນກ​ຂອງ​ທ່ານ."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"ບໍ່​ສາ​ມາດ​ຕິດ​ຕັ້ງ​ແອັບຯ​ຜູ່​ເບິ່ງ​ແຍງ​ລະ​ບົບ​ໄດ້"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"​​ບໍ່​ມີ​ແອັບຯ​ຜູ່​ເບ​ິ່ງ​ແຍງ​ລະ​ບົບ​ຕິດ​ຕັ້ງ​ໃນ​ອຸ​ປະ​ກອນ​ຂອງ​ທ່ານ"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"ຢຸດ​ການ​ຕິດ​ຕັ້ງ​ຫຼື​ບໍ່?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"​ທ່ານ​ແນ່​ໃຈ​ບໍ່​ວ່າ​ທ່ານ​ຕ້ອງ​ການ​ຢຸດ​ການ​ຕິດ​ຕັ້ງ?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"ບໍ່"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"​ແມ່ນ​ແລ້ວ"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"​ກຳ​ລັງ​ຍົກ​ເລີກ..."</string>
+</resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
new file mode 100644
index 0000000..959f877
--- /dev/null
+++ b/res/values-lt/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Device Provisioner"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Oi!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Nustatykite profilį"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Jūsų organizacija valdo šį profilį ir užtikrina jo saugumą. Visa kita savo įrenginyje valdote jūs."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Naudojant toliau nurodytą programą, reikės prieigos prie šio profilio:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Nustatyti"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Nustatomas darbo profilis..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Administratorius gali stebėti ir tvarkyti nustatymus, įmonės prieigą, programas ir su šiuo profiliu susietus duomenis, įskaitant tinklo veiklą ir įrenginio vietos informaciją."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Administratorius gali stebėti ir tvarkyti nustatymus, įmonės prieigą, programas ir su šiuo įrenginiu susietus duomenis, įskaitant tinklo veiklą ir įrenginio vietovės informaciją."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Jei reikia daugiau informacijos, įskaitant organizacijos privatumo politiką, susisiekite su administratoriumi."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Sužinokite daugiau"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Atšaukti"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"Gerai"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Darbo profilis"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Jau turite darbo profilį įrenginyje. Ar norite jį pašalinti?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Ar tikrai norite pašalinti šį darbo profilį? Visi jo duomenys bus ištrinti."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Pašalinti"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Atšaukti"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Jei norite tęsti darbo profilio sąranką, turite šifruoti įrenginį. Tai gali šiek tiek užtrukti."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Atšaukti"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Šifruoti"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Šifruotė baigta"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Palieskite, kad galėtumėte tęsti darbo profilio nustatymą"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Nepavyko nustatyti jūsų darbo profilio. Susisiekite su IT skyriumi arba vėliau bandykite dar kartą."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Įrenginys nepalaiko darbo profilių"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Darbo profilius turi nustatyti įrenginio savininkas"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Ši paleidimo priemonės programa nepalaiko darbo profilio. Reikės naudoti suderinamą paleidimo priemonę."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Atšaukti"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Gerai"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Darbo įrenginio naudotojas"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Nustatykite įrenginį"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Apdorojami sąrankos duomenys..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Prisijungiama prie „Wi-Fi“..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"Atsisiunčiama administratoriaus programa..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"Diegiama administratoriaus programa..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Nustatomas įrenginio savininkas..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Stabdyti sąranką?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Ar tikrai norite sustabdyti įrenginio duomenų nustatymą ir trynimą?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Atšaukti"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"Gerai"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Nustatyti iš naujo"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Nepavyko nustatyti įrenginio. Susisiekite su IT skyriumi."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Šis įrenginys jau nustatytas"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Nepavyko prisijungti prie „Wi-Fi“"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Nepavyko naudoti administratoriaus programos dėl kontrolinės sumos klaidos. Susisiekite su IT skyriumi."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Nepavyko atsisiųsti administratoriaus programos"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Negalima naudoti administratoriaus programos. Trūksta jos komponentų arba ji sugadinta. Susisiekite su IT skyriumi."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Nepavyko įdiegti administratoriaus programos"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Administratoriaus programa neįdiegta įrenginyje"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Stabdyti sąranką?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Ar tikrai norite sustabdyti sąranką?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Ne"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Taip"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Atšaukiama..."</string>
+</resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
new file mode 100644
index 0000000..9af6037
--- /dev/null
+++ b/res/values-lv/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Ierīces nodrošinātājs"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Hmm..."</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Iestatiet savu profilu"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Jūsu organizācija kontrolē šo profilu un uztur tā drošību. Jūs kontrolējat pārējo ierīces saturu."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Tālāk norādītajai lietotnei būs nepieciešama piekļuve šim profilam:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Iestatīt"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Notiek darba profila iestatīšana..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Administrators var pārraudzīt un pārvaldīt iestatījumus, korporatīvo piekļuvi, lietotnes un datus, kas ir saistīti ar šo profilu, tostarp tīkla darbības un informāciju par jūsu ierīces atrašanās vietu."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Administrators var pārraudzīt un pārvaldīt iestatījumus, korporatīvo piekļuvi, lietotnes un datus, kas ir saistīti ar šo ierīci, tostarp tīkla darbības un informāciju par jūsu ierīces atrašanās vietu."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Lai iegūtu plašāku informāciju, tostarp informāciju par uzņēmuma konfidencialitātes politikām, sazinieties ar administratoru."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Uzzināt vairāk"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Atcelt"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"Labi"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Darba profils"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Jūsu ierīcē jau ir darba profils. Vai vēlaties to noņemt?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Vai tiešām vēlaties noņemt šo darba profilu? Visi tā dati tiks dzēsti."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Noņemt"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Atcelt"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Lai turpinātu darba profila iestatīšanu, jums ir jāšifrē sava ierīce. Tas var ilgt kādu laiku."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Atcelt"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Šifrēt"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Šifrēšana pabeigta"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Pieskarieties, lai turpinātu darba profila iestatīšanu"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Nevarēja iestatīt darba profilu. Sazinieties ar IT nodaļu vai vēlāk mēģiniet vēlreiz."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Jūsu ierīcē netiek atbalstīti darba profili"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Darba profili ir jāiestata ierīces īpašniekam"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Šī palaišanas lietotne neatbalsta jūsu darba profilu. Jums jālieto saderīga palaišanas programma."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Atcelt"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Labi"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Darba ierīces lietotājs"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Ierīces iestatīšana"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Notiek iestatīšanas datu apstrāde..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Notiek savienojuma izveide ar Wi-Fi..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"Notiek administratora lietotnes lejupielāde…"</string>
+    <string name="progress_install" msgid="9169411715762296097">"Notiek administratora lietotnes instalēšana…"</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Notiek ierīces īpašnieka iestatīšana..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Vai apturēt iestatīšanu?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Vai tiešām vēlaties pārtraukt iestatīšanu un izdzēst ierīces datus?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Atcelt"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"Labi"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Atiestatīt"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Nevarēja iestatīt ierīci. Sazinieties ar IT nodaļu."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Šī ierīce jau ir iestatīta"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Neizdevās izveidot savienojumu ar Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Nevarēja izmantot administratora lietotni kontrolsummas kļūdas dēļ. Sazinieties ar IT nodaļu."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Neizdevās ielādēt administratora lietotni"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Nevar izmantot administratora lietotni. Tajā trūkst komponentu, vai tā ir bojāta. Sazinieties ar IT nodaļu."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Neizdevās instalēt administratora lietotni"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Administratora lietotne nav instalēta ierīcē"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Vai apturēt iestatīšanu?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Vai tiešām vēlaties apturēt iestatīšanu?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Nē"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Jā"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Notiek atcelšana..."</string>
+</resources>
diff --git a/res/values-mk-rMK/strings.xml b/res/values-mk-rMK/strings.xml
new file mode 100644
index 0000000..97f143a
--- /dev/null
+++ b/res/values-mk-rMK/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Обезбедувач на уред"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Оф леле!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Поставете го вашиот профил"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Вашата организација го контролира профилот и го одржува безбеден. Вие контролирате сѐ останато на уредот."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Следнава апликација ќе треба да пристапува до профилот:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Постави"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Се поставува работниот профил..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Администраторот може да ги набљудува и да управува со поставките, корпоративниот пристап, апликациите и податоците поврзани со профилот, вклучувајќи ја мрежната активност и информациите за локацијата на уредот."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Администраторот може да ги следи и да управува со поставките, корпоративниот пристап, апликациите и податоците поврзани со овој уред, како и со мрежната активност и информациите за локацијата на уредот."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Контактирајте со администраторот за повеќе информации, како и за политиките за приватност на организацијата."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Дознај повеќе"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Откажи"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"Во ред"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Работен профил"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Веќе имате работен профил на уредот. Дали сакате да го отстраните?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Дали сте сигурни дека сакате да го отстраните работниот профил? Сите негови податоци ќе се избришат."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Отстрани"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Откажи"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"За да продолжите со поставување на работниот профил, ќе треба да го шифрирате уредот. Тоа може да потрае."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Откажи"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Шифрирај"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Шифрирањето е завршено"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Допрете за да продолжи поставувањето на работниот профил"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Не можевме да го поставиме работниот профил. Контактирајте со одделот за ИТ или обидете се повторно подоцна."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Уредот не поддржува работни профили"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Работните профили треба да ги поставува сопственикот на уредот"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Работниот профил не е поддржан од оваа апликација на стартерот. Ќе треба да се префрлите на стартер којшто е компатибилен."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Откажи"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Во ред"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Корисник на работен уред"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Поставете го уредот"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Се обработуваат податоците за поставување..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Се поврзува на Wi-Fi..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"Се презема администраторската апликација..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"Се инсталира администраторската апликација..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Се поставува сопственикот на уредот..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Да запреме со поставување?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Дали сигурно сакате да запрете со поставувањето и да ги избришете податоците на уредот?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Откажи"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"Во ред"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Ресетирај"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Не можевме да го поставиме уредот. Контактирајте со одделот за ИТ."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Уредот е веќе поставен"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Не можеше да се поврзе со Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Не можевме да ја користиме администраторската апликација поради грешка во контролната сума. Контактирајте со одделот за ИТ."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Не можеше да се преземе апликацијата за администратор"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Не може да се користи администраторската апликација. Ѝ недостасуваат компоненти или е оштетена. Контактирајте со одделот за ИТ."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Не можеше да се инсталира апликацијата за администратор"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Апликацијата за администратор не е инсталирана на уредот"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Да прекине поставувањето?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Дали сигурно сакате да го прекинете поставувањето?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Не"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Да"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Се откажува..."</string>
+</resources>
diff --git a/res/values-ml-rIN/strings.xml b/res/values-ml-rIN/strings.xml
new file mode 100644
index 0000000..34b4f9e
--- /dev/null
+++ b/res/values-ml-rIN/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"ഉപകരണ പ്രൊവിഷണർ"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"ക്ഷമിക്കണം!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"നിങ്ങളുടെ പ്രൊഫൈല്‍ സജ്ജമാക്കുക"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"നിങ്ങളുടെ ഓർഗനൈസേഷൻ, ഈ പ്രൊഫൈൽ നിയന്ത്രിച്ച് അവ സുരക്ഷിതമായി സൂക്ഷിക്കുന്നു. ഉപകരണത്തിലെ മറ്റുള്ളവയെല്ലാം നിങ്ങൾക്ക് നിയന്ത്രിക്കാനാവും."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"ഇനിപ്പറയുന്ന അപ്ലിക്കേഷന് ഈ പ്രൊഫൈൽ ആക്‌സസ്സുചെയ്യേണ്ടിവരും:"</string>
+    <string name="set_up" msgid="7012862095553564169">"സജ്ജീകരിക്കുക"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"നിങ്ങളുടെ ഔദ്യോഗിക പ്രൊഫൈൽ സജ്ജീകരിക്കുന്നു..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"നെറ്റ്‌വർക്ക് പ്രവർത്തനവും ഉപകരണത്തിന്റെ ലൊക്കേഷൻ വിവരവും ഉൾപ്പെടെ നിങ്ങളുടെ പ്രൊഫൈലുമായി ബന്ധപ്പെട്ട ക്രമീകരണങ്ങളും കോർപ്പറേറ്റ് ആക്‌സസ്സും അപ്ലിക്കേഷനുകളും ഡാറ്റയും നിരീക്ഷിക്കാനും നിയന്ത്രിക്കാനും അഡ്‌മിനിസ്‌ട്രേറ്റർക്ക് കഴിയും."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"നെറ്റ്‌വർക്ക് പ്രവർത്തനവും ഉപകരണത്തിന്റെ ലൊക്കേഷൻ വിവരവും ഉൾപ്പെടെ, ഈ ഉപകരണവുമായി ബന്ധപ്പെട്ട ക്രമീകരണങ്ങളും കോർപ്പറേറ്റ് ആക്‌സസ്സും അപ്ലിക്കേഷനുകളും ഡാറ്റയും നിരീക്ഷിക്കാനും നിയന്ത്രിക്കാനും അഡ്‌മിനിസ്‌ട്രേറ്റർക്ക് കഴിയും."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"നിങ്ങളുടെ ഓർഗനൈസേഷന്റെ സ്വകാര്യതാ നയങ്ങൾ ഉൾപ്പെടെയുള്ള കൂടുതൽ വിവരങ്ങൾക്ക് അഡ്‌മിനിസ്‌ട്രേറ്ററെ ബന്ധപ്പെടുക."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"കൂടുതലറിയുക"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"റദ്ദാക്കുക"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"ശരി"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"ഔദ്യോഗിക പ്രൊഫൈൽ"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"നിങ്ങളുടെ ഉപകരണത്തിൽ ഇതിനകം ഒരു ഔദ്യോഗിക പ്രൊഫൈലുണ്ട്. ഇത് നീക്കംചെയ്യണോ?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"ഈ ഔദ്യോഗിക പ്രൊഫൈൽ നീക്കംചെയ്യണമെന്ന് തീർച്ചയാണോ? ഇതിന്റെ എല്ലാ ഡാറ്റയും ഇല്ലാതാക്കും."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"നീക്കംചെയ്യുക"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"റദ്ദാക്കുക"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"നിങ്ങളുടെ ഔദ്യോഗിക പ്രൊഫൈൽ സജ്ജീകരിക്കുന്നത് തുടരാൻ, നിങ്ങളുടെ ഉപകരണം എൻക്രിപ്റ്റ് ചെയ്യേണ്ടതുണ്ട്. ഇതിന് കുറച്ച് സമയമെടുത്തേക്കാം."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"റദ്ദാക്കുക"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"എൻക്രിപ്‌റ്റുചെയ്യുക"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"എൻക്രി‌പ്‌റ്റുചെയ്യൽ പൂർത്തിയാക്കുക"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"നിങ്ങളുടെ ഔദ്യോഗിക പ്രൊഫൈൽ സജ്ജീകരിക്കുന്നത് തുടരാൻ സ്‌പർശിക്കുക"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"നിങ്ങളുടെ ഔദ്യോഗിക പ്രൊഫൈൽ സജ്ജീകരിക്കാനായില്ല. നിങ്ങളുടെ ഐടി വിഭാഗവുമായി ബന്ധപ്പെടുക അല്ലെങ്കിൽ പിന്നീട് വീണ്ടും ശ്രമിക്കുക."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"നിങ്ങളുടെ ഉപകരണം ഔദ്യോഗിക പ്രൊഫൈലുകളെ പിന്തുണയ്‌ക്കുന്നില്ല"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"ഔദ്യോഗിക പ്രൊഫൈലുകൾ, ഉപകരണ ഉടമ സജ്ജീകരിക്കേണ്ടതുണ്ട്"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"ഈ ലോഞ്ചർ അപ്ലിക്കേഷൻ നിങ്ങളുടെ ഔദ്യോഗിക പ്രൊഫൈലിനെ പിന്തുണയ്‌ക്കില്ല. അനുയോജ്യമായ ലോഞ്ചറിലേക്ക് മാറേണ്ടതുണ്ട്."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"റദ്ദാക്കുക"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"ശരി"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"ഔദ്യോഗിക ഉപകരണത്തിന്റെ ഉപയോക്താവ്"</string>
+    <string name="setup_device" msgid="6725265673245816366">"നിങ്ങളുടെ ഉപകരണം സജ്ജീകരിക്കുക"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"സജ്ജീകരണ ഡാറ്റ പ്രോസസ്സുചെയ്യുന്നു..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Wi-Fi-ലേക്ക് കണക്‌റ്റുചെയ്യുന്നു..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"അഡ്‌മിൻ അപ്ലിക്കേഷൻ ഡൗൺലോഡുചെയ്യുന്നു..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"അഡ്‌മിൻ അപ്ലിക്കേഷൻ ഇൻസ്റ്റാളുചെയ്യുന്നു..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"ഉപകരണ ഉടമയെ സജ്ജീകരിക്കുന്നു..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"സജ്ജീകരിക്കൽ നിർത്തണോ?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"നിങ്ങളുടെ ഉപകരണത്തിന്റെ ഡാറ്റ സജ്ജീകരിക്കുന്നത് അവസാനിപ്പിച്ച് അത് മായ്‌ക്കണമെന്നത് തീർച്ചയാണോ?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"റദ്ദാക്കുക"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"ശരി"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"പുനഃസജ്ജമാക്കുക"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"നിങ്ങളുടെ ഉപകരണം സജ്ജീകരിക്കാനായില്ല. നിങ്ങളുടെ ഐടി വിഭാഗവുമായി ബന്ധപ്പെടുക."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"ഈ ഉപകരണം ഇതിനകം തന്നെ സജ്ജീകരിച്ചിരിക്കുന്നു"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi ലേക്ക് കണക്‌റ്റുചെയ്യാനായില്ല"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"ഒരു ചെക്ക്‌സം പിശക് കാരണം അഡ്‌മിൻ അപ്ലിക്കേഷൻ ഉപയോഗിക്കാനായില്ല. നിങ്ങളുടെ ഐടി വിഭാഗവുമായി ബന്ധപ്പെടുക."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"അഡ്‌മിൻ അപ്ലിക്കേഷൻ ഡൗൺലോഡുചെയ്യാനായില്ല"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"അഡ്‌മിൻ അപ്ലിക്കേഷൻ ഉപയോഗിക്കാനാവില്ല. അതിന്റെ ഘടകഭാഗങ്ങൾ നഷ്‌ടപ്പെട്ടതോ കേടായതോ ആണ്. നിങ്ങളുടെ ഐടി വിഭാഗവുമായി ബന്ധപ്പെടുക."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"അഡ്‌മിൻ അപ്ലിക്കേഷൻ ഇൻസ്റ്റാളുചെയ്യാനായില്ല"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"നിങ്ങളുടെ ഉപകരണത്തിൽ അഡ്‌മിൻ അപ്ലിക്കേഷൻ ഇൻസ്‌റ്റാളുചെയ്‌തിട്ടില്ല"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"സജ്ജീകരിക്കൽ നിർത്തണോ?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"സജ്ജീകരിക്കൽ നിർത്തണമെന്ന് തീർച്ചയാണോ?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"അല്ല"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"അതെ"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"റദ്ദാക്കുന്നു..."</string>
+</resources>
diff --git a/res/values-mn-rMN/strings.xml b/res/values-mn-rMN/strings.xml
new file mode 100644
index 0000000..37de573
--- /dev/null
+++ b/res/values-mn-rMN/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Төхөөрөмжийн Нийлүүлэгч"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Алдаа!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Өөрийн профайлыг тохируулна уу"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Таны компани энэ профайлыг хянаж, аюулгүй байлгадаг. Та төхөөрөмж дээрх бусад зүйлсийг хянана."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Дараах апп энэ профайлд хандах шаардлагатай:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Тохируулах"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Таны ажлын профайлыг тохируулж байна..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Танай админ тохиргоо, байгууллагын хандалт, апп болон профайлтай холбоотой дата, сүлжээний идэвхжилт болон таны төхөөрөмжийн байршлын мэдээлэл зэргийг хянах, удирдах боломжтой."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Таны админ тохиргоо, байгууллагын хандалт, апп-ууд, энэ төхөөрөмжтэй холбоотой дата, сүлжээний идэвхжилт, төхөөрөмжийн байршлын мэдээлэл зэргийг хянах, удирдах эрхтэй."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Танай байгууллагын нууцлалын бодлого зэрэг дэлгэрэнгүй мэдээллийг өөрийн администраторт хандаж авна уу."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Дэлгэрэнгүй үзэх"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Цуцлах"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"ТИЙМ"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Ажлын профайл"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Таны төхөөрөмж дээр ажлын профайл байна. Үүнийг арилгах уу?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Энэ ажлын профайлыг устгахдаа итгэлтэй байна уу? Үүний бүх дата устах болно."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Хасах"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Цуцлах"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Ажлын профайлыг үргэлжлүүлэн суулгахын тулд та төхөөрөмжөө шифрлэх шаардлагатай. Үүнд хэсэг хугацаа орж болно."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Цуцлах"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Шифрлэх"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Шифрлэлт дууссан"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Ажлын профайлаа үргэлжлүүлэн тохируулахын тулд хүрнэ үү"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Таны ажлын профайлыг тохируулж чадсангүй. МТ хэлтэстэй холбогдох буюу дараа дахин оролдоно уу."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Таны төхөөрөмж ажлын профайлыг дэмждэггүй"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Ажлын профайлыг төхөөрөмжийн эзэмшигч тохируулах шаардлагатай."</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Таны ажлын профайл энэ эхлүүлэгч апп-аар дэмжигдээгүй байна. Таарах эхлүүлэгч апп-р солино уу."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Цуцлах"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Тийм"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Ажлын төхөөрөмжийн хэрэглэгч"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Төхөөрөмжөө тохируулна уу"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Тохируулгын датаг боловсруулж байна..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Wi-Fi руу холбогдож байна..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"Админ апп-г татаж авч байна..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"Админ апп суулгаж байна..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Төхөөрөмжийн эзэмшигчийг тохируулж байна..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Тохируулгыг зогсоох уу?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Та төхөөрөмжөө тохируулахыг зогсоож, датаг устгах уу?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Цуцлах"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"ТИЙМ"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Дахин шинэчлэх"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Таны төхөөрөмжийг тохируулж чадсангүй. МТ хэлтэстэй холбогдоно уу."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Энэ төхөөрөмжийг аль хэдийн тохируулсан"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi-д холбогдож чадсангүй"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"checksum алдаанаас шалтгаалан админ апп-г ашиглаж чадсангүй. МТ хэлтэстэй холбогдоно уу."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Админ апп-г татаж авч чадсангүй"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Админ апп-г ашиглах боломжгүй. Бүрдэл дутагдсан эсхүл гэмтсэн байна. МТ хэлтэстэй холбогдоно уу."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Админ апп-г суулгаж чадсангүй"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Таны төхөөрөмж дээр админ апп суугаагүй байна"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Тохируулгыг зогсоох уу?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Та тохируулгыг зогсоохдоо итгэлтэй байна уу?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Үгүй"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Тийм"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Цуцлаж байна..."</string>
+</resources>
diff --git a/res/values-mr-rIN/strings.xml b/res/values-mr-rIN/strings.xml
new file mode 100644
index 0000000..857e74c
--- /dev/null
+++ b/res/values-mr-rIN/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"डिव्‍हाइस तरतूदकर्ता"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"अरेरे!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"आपले प्रोफाईल सेट करा"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"आपली संस्था हे प्रोफाईल नियंत्रित करते आणि ते सुरक्षित ठेवते. आपण आपल्या डिव्हाइसवरील अन्य प्रत्येकगोष्ट नियंत्रित करता."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"खालील अ‍ॅपला या प्रोफाईलमध्‍ये प्रवेश करण्‍याची आवश्‍यकता असेल:"</string>
+    <string name="set_up" msgid="7012862095553564169">"सेट अप"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"आपले कार्य प्रोफाईल सेट करत आहे..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"आपल्या प्रशासकाकडे सेटिंग्ज, कॉर्पोरेट प्रवेश, अॅप्स आणि नेटवर्क क्रियाकलाप आणि आपल्या डिव्हाइसच्या स्थान माहितीसह प्रोफाईलशी संबंधित डेटाचे परीक्षण करण्याची आणि ते व्यवस्थापित करण्याची क्षमता आहे."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"आपल्या प्रशासकाकडे सेटिंग्ज, कॉर्पोरेट प्रवेश, अॅप्स आणि नेटवर्क क्रियाकलाप आणि आपल्या डिव्हाइसच्या स्थान माहितीसह या डिव्हाइसशी संबंधित डेटाचे परीक्षण करण्याची आणि ते व्यवस्थापित करण्याची क्षमता आहे."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"आपल्‍या संस्‍थेच्या गोपनीयता धोरणांसह अधिक माहितीसाठी आपल्‍या प्रशासकाशी संपर्क साधा."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"अधिक जाणून घ्या"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"रद्द करा"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"ठीक आहे"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"कार्य प्रोफाईल"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"आपल्‍याकडे आपल्‍या डिव्‍हाइसवर आधीपासून कार्य प्रोफाईल आहे. आपण ते काढू इच्‍छिता?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"आपल्‍याला खात्री आहे की आपण हे कार्य प्रोफाईल काढू इच्‍छिता? त्याचा सर्व डेटा हटविला जाईल."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"काढा"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"रद्द करा"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"आपले कार्य प्रोफाईल सेट करणे सुरु ठेवण्‍यासाठी, आपल्‍याला आपले डिव्हाइस कूटबद्ध करणे आवश्‍यक असेल. यास कदाचित काही वेळ लागू शकतो."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"रद्द करा"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"कूटबद्ध करा"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"कूटबद्धीकरण पूर्ण"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"आपले कार्य प्रोफाईल सेट करणे सुरु ठेवण्यासाठी स्पर्श करा"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"आपले कार्य प्रोफाईल सेट करणे शक्य झाले नाही. आपल्या IT विभागाशी संपर्क साधा किंवा नंतर पुन्हा प्रयत्न करा."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"आपले डिव्‍हाइस कार्य प्रोफाईलचे समर्थन करीत नाही"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"कार्य प्रोफाईल डिव्‍हाइस मालकाद्वारे सेट केले जाणे आवश्‍यक आहे"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"आपले कार्य प्रोफाईल या लाँचर अॅपद्वारे समर्थित नाही. आपल्याला सुसंगत असलेल्या लाँचरवर स्विच करण्याची आवश्यकता असेल."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"रद्द करा"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"ठीक आहे"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"कार्य डिव्‍हाइसचा वापरकर्ता"</string>
+    <string name="setup_device" msgid="6725265673245816366">"आपले डिव्हाइस सेट करा"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"सेटअप डेटावर प्रक्रिया करत आहे..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"वाय-फाय शी कनेक्ट करत आहे..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"प्रशासन अॅप डाउनलोड करत आहे..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"प्रशासन अॅप स्थापित करत आहे..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"डिव्हाइस मालक सेट करत आहे..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"सेट करणे थांबवायचे?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"आपल्याला खात्री आहे की आपण सेट करणे थांबवू इच्छिता आणि आपल्या डिव्हाइसचा डेटा मिटवू इच्छिता?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"रद्द करा"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"ठीक आहे"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"रीसेट करा"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"आपले डिव्हाइस सेट करणे शक्य झाले नाही. आपल्या IT विभागाशी संपर्क साधा."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"हे डिव्‍हाइस आधीपासून सेट केले आहे"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"वाय-फाय ला कनेक्ट करू शकलो नाही"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"एका checksum त्रुटीमुळे प्रशासन अॅप वापरणे शक्य झाले नाही. आपल्या IT विभागाशी संपर्क साधा."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"प्रशासक अ‍ॅप डाउनलोड करणे शक्य झाले नाही"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"प्रशासन अॅप वापरणे शक्य नाही. ते गहाळ घटक किंवा दूषित आहेत. आपल्या IT विभागाशी संपर्क साधा."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"प्रशासक अ‍ॅप स्‍थापित करणे शक्य झाले नाही"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"आपल्‍या डिव्‍हाइसवर प्रशासक अ‍ॅप स्‍थापित केला नाही"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"सेट करणे थांबवायचे?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"आपल्याला खात्री आहे की आपण सेट करणे थांबवू इच्छिता?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"नाही"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"होय"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"रद्द करत आहे..."</string>
+</resources>
diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms-rMY/strings.xml
new file mode 100644
index 0000000..4b251bc
--- /dev/null
+++ b/res/values-ms-rMY/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Peruntukan Peranti"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Op!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Sediakan profil anda"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Organisasi anda mengawal profil ini dan memastikan profil selamat. Anda mengawal segala perkara lain pada peranti anda."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Apl berikut perlu mengakses profil ini:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Sediakan"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Menyediakan profil kerja anda..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Pentadbir anda mempunyai keupayaan untuk memantau dan mengurus tetapan, akses korporat, apl dan data yang dikaitkan dengan profil, termasuk aktiviti rangkaian dan maklumat lokasi peranti anda."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Pentadbir organisasi anda mempunyai keupayaan untuk memantau dan mengurus tetapan, akses korporat, apl dan data yang dikaitkan dengan peranti ini, termasuk aktiviti rangkaian dan maklumat lokasi peranti anda."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Hubungi pentadbir anda untuk maklumat lanjut, termasuk dasar privasi organisasi anda."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Ketahui lebih lanjut"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Batal"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"OK"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Profil kerja"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Anda sudah mempunyai profil kerja pada peranti anda. Adakah anda mahu mengalih keluar profil itu?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Adakah anda pasti anda mahu memadam profil kerja ini? Semua data akan dipadamkan."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Alih keluar"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Batal"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Untuk meneruskan persediaan, anda perlu menyulitkan peranti anda. Proses ini mungkin mengambil sedikit masa."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Batal"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Sulitkan"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Penyulitan selesai"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Sentuh untuk terus menyediakan profil kerja anda"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Tidak dapat menyediakan profil kerja anda. Hubungi jabatan IT anda atau cuba sebentar lagi."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Peranti anda tidak menyokong profil kerja"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Profil kerja perlu disediakan oleh pemilik peranti"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Profil kerja anda tidak disokong oleh apl pelancar ini. Anda perlu bertukar kepada pelancar yang serasi."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Batal"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Ok"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Pengguna peranti kerja"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Sediakan peranti anda"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Memproses data persediaan..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Menyambung ke Wi-Fi..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"Memuat turun apl pentadbir..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"Memasang apl pentadbir..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Menetapkan pemilik peranti..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Berhenti menyediakan?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Adakah anda pasti anda mahu berhenti menyediakan dan padam data peranti anda?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Batal"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"OK"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Tetapkan semula"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Tidak dapat menyediakan peranti anda. Hubungi jabatan IT anda."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Peranti ini sudah disediakan"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Tidak boleh menyambung kepada Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Tidak dapat menggunakan apl pentadbir kerana ralat semak jumlah. Hubungi jabatan IT anda."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Tidak dapat memuat turun apl pentadbir"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Tidak dapat menggunakan apl pentadbir. Apl ketiadaan komponen atau rosak. Hubungi jabatan IT anda."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Tidak dapat memasang apl pentadbir"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Apl pentadbir tidak dipasang pada peranti anda"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Berhenti menyediakan?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Adakah anda pasti anda ingin menghentikan penyediaan?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Tidak"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Ya"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Membatalkan..."</string>
+</resources>
diff --git a/res/values-my-rMM/strings.xml b/res/values-my-rMM/strings.xml
new file mode 100644
index 0000000..396de3d
--- /dev/null
+++ b/res/values-my-rMM/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"ကိရိယာကို စီမံဆောင်ရွက်ပေးသူ"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"အူးပ်စ်!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"သင်၏ ပရိုဖိုင်ကို စဖွင့်သတ်မှတ်ရန်"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"သင်၏ အဖွဲ့အစည်းက ဒီပရိုဖိုင်ကို ထိန်းချုပ်လျက် လုံခြုံအောင် ထားရှိပါသည်။ သင်သည် သင့် ကိရိယာ ထဲက ကျန်အရာများကို ထိန်းချုပ်ပါသည်။"</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"အောက်ပါ appက ဒီပရိုဖိုင်ကို ရယူသုံးရန် လိုအပ်မည်:"</string>
+    <string name="set_up" msgid="7012862095553564169">"စဖွင့်သတ်မှတ်ရန်"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"သင်၏ အလုပ် ပရိုဖိုင်ကို စဖွင့်စီစဉ်နေ..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"သင်၏ စီမံအုပ်ချုပ်သူသည် ပရိုဖိုင်နှင့် ဆက်နွှယ်နေသည့် ဆက်တင်များ၊ လုပ်ငန်းဆိုင်ရာ ရယူသုံးမှုများ၊ appများ နှင့် ဒေတာများကို၊ ကွန်ရက် လှုပ်ရှားမှုများ နှင့် သင့် ကိရိယာ တည်နေရာ အချက်အလက်များ အပါအဝင်ကို၊ စောင့်ကြပ် စီမံကွပ်ကဲနိုင်စွမ်း ရှိပါသည်။"</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"ဆက်တင်များ၊ လုပ်ငန်းဆိုင်ရာ အသုံးပြုမှုများ၊ appများ၊ ဒီကိရိယာနှင့် ဆက်စပ်နေသည့် ဒေတာကို၊ ကွန်ရက် လှုပ်ရှားမှု နှင့် သင့်ကိရိယာ၏ တည်နေရာ အချက်အလက်များအပါအဝင်ကို၊ သင်၏ စီမံအုပ်ချုပ်သူက စောင့်ကြည့်ပြီး စီမံကွပ်ကဲနိုင်သည်။"</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"သင့်အဖွဲ့အစည်း၏ ကိုယ်ရေးမူဝါဒများ အပါအဝင်၊ တစ်ခြား အချက်အလက်များ အတွက် သင့်စီမံအုပ်ချုပ်သူကို ဆက်သွယ်ပါ။"</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"ပိုမိုသိလိုလျှင်"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"ထားတော့"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"အိုကေ"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"အလုပ် ပရိုဖိုင်"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"သင့်စက်တွင် အလုပ်ပရိုဖိုင်ရှိပြီးဖြစ်သည်။ သင် ဖယ်ရှားလိုပါသလား?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"ဤအလုပ်ပရိုဖိုင်ကို ဖယ်လိုသည်မှာ သေချာသလား? ဒေတာအားလုံး ပျက်သွားလိမ့်မည်။"</string>
+    <string name="delete_profile" msgid="7107020982626129151">"ဖယ်ရှားရန်"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"ထားတော့"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"သင့် အလုပ်ပရိုဖိုင်ကို ဆက်လက် တပ်ဆင်သတ်မှတ်ရန်၊ သင့်စက်အား လျှို့ဝှက်ကုဒ် သွင်းရမည်။ အချိန်အနည်းငယ် ကြာနိုင်သည်။"</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"ထားတော့"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"လျှို့ဝှက်ကုဒ်သွင်း"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"လျှို့ဝှက်ကုဒ် သွင်းမှု ပြီးဆုံးသွားပြီ"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"သင်၏ အလုပ် ပရိုဖိုင်ကို စဖွင့်သတ်မှတ်မှု ဆက်လုပ်ကိုင်ရန် ထိပါ"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"သင်၏ အလုပ် ပရိုဖိုင်ကို စဖွင့်စီစဉ် မရခဲ့ပါ။ သင်၏ IT ဌာနကို ဆက်သွယ်ပါ သို့မဟုတ် နောက်မှာ ထပ်စမ်းပါ။"</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"သင့်စက်က အလုပ်ပရိုဖိုင်များကို မပံ့ပိုးပါ။"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"စက်ပိုင်ရှင်မှ အလုပ်ပရိုဖိုင်များကို စတင်သတ်မှတ်ရန်လိုသည်။"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"သင့် အလုပ် ပရိုဖိုင်ကို ဒီဖွင့်တင်ရေး appမှ မပံ့ပိုးပါ။ သင်သည် လိုက်ဖက်သည့် ဖွင့်တင်ရေးစက်သို့ ပြောင်းရန် လိုသည်။"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"ထားတော့"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"အိုကေ"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"အလုပ်စက်ပစ္စည်း အသုံးပြုသူ"</string>
+    <string name="setup_device" msgid="6725265673245816366">"သင်၏ ကိရိယာကို စဖွင့်သတ်မှတ်ရန်"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"စဖွင့်စီစဉ်ရေး ဒေတာကို စီမံဆောင်ရွက်နေ..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"ကြိုးမဲ့သို့ ချိတ်ဆက်နေ..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"စီမံအုပ်ချုပ်သူ appကို ဒေါင်းလုဒ် လုပ်နေ..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"စီမံအုပ်ချုပ်သူ appကို တပ်ဆင်နေ..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"ကိရိယာ ပိုင်ရှင်ကို စဖွင့်သတ်မှတ်နေ..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"စဖွင့်သတ်မှတ်ခြင်း မလုပ်တော့ဘူးလား?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"သင်သည် စဖွင့်စီစဉ်မှုကို ရပ်စဲလိုက်ကာ သင့် ကိရိယာ၏ ဒေတာကို ဖျက်ပစ်လိုတာ သေချာသလား?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"ထားတော့"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"အိုကေ"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"ပြန်ညှိရန်"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"သင်၏ ကိရိယာကို စဖွင့်စီစဉ် မပေးနိုင်ခဲ့ပါ။ သင်၏ IT ဌာနကို ဆက်သွယ်ပါ။"</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"ဤစက်အား ပြင်ဆင်သတ်မှတ်ပြီး"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"ဝိုင်−ဖိုင်ကို ချိတ်ဆက်မရပါ"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"checksum အမှားကြောင့် စီမံအုပ်ချုပ်သူ appကို မသုံးနိုင်ခဲ့ပါ။ သင်၏ IT ဌာနကို ဆက်သွယ်ပါ။"</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"အက်ဒမင် appကို ဒေါင်းလုဒ် မလုပ်နိုင်ခဲ့ပါ။"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"စီမံအုပ်ချုပ်သူ appကို မသုံးနိုင်ခဲ့ပါ။ ၎င်းထဲက အစိတ်အပိုင်းများ ​ပျောက်နေ သို့မဟုတ် ပျက်စီးနေသည်။ သင်၏ IT ဌာနကို ဆက်သွယ်ပါ။"</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"အက်ဒမင် appကို မတပ်ဆင်နိုင်ပါ။"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"သင့်စက်တွင် အက်ဒမင် app မတပ်ဆင်ရသေးပါ။"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"စဖွင့်သတ်မှတ်ခြင်း ရပ်စဲမလား?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"သင်သည် စဖွင့်သတ်မှတ်မှုကို ရပ်စဲချင်တာ သေချာသလား?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"မလို"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"ဟုတ်"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"ဖျက်နေ..."</string>
+</resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
new file mode 100644
index 0000000..cbc1074
--- /dev/null
+++ b/res/values-nb/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Enhetstildeler"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Beklager!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Konfigurer profilen din"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Organisasjonen kontrollerer denne profilen og holder den sikker. Du styrer alt annet på enheten."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Denne appen trenger tilgang til denne profilen:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Konfigurer"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Konfigurerer arbeidsprofilen din ..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Administratoren din kan overvåke og administrere innstillinger, bedriftstilgang, apper og data tilknyttet denne profilen, herunder nettverksaktivitet og enhetens posisjonsinformasjon."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Administratoren din kan overvåke og administrere innstillinger, bedriftstilgang, apper og data tilknyttet denne enheten, herunder nettverksaktivitet og enhetens posisjonsinformasjon."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Hvis du vil ha mer informasjon, inkludert organisasjonens retningslinjer for personvern, kan du kontakte administratoren din."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Finn ut mer"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Avbryt"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"OK"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Arbeidsprofil"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Det er allerede en arbeidsprofil på enheten din. Vil du fjerne den?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Er du sikker på at du vil fjerne denne arbeidsprofilen? Alle profildataene slettes."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Fjern"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Avbryt"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Hvis du vil fortsette konfigurasjonen av arbeidsprofilen, må du kryptere enheten din. Dette kan ta en stund."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Avbryt"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Kryptér"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Krypteringen er fullført"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Trykk for å fortsette konfigureringen av arbeidsprofilen din"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Kunne ikke konfigurere arbeidsprofilen din. Ta kontakt med IT-avdelingen og prøv på nytt senere."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Enheten din støtter ikke arbeidsprofiler"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Arbeidsprofiler må konfigureres av enhetseieren"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Arbeidsprofilen din støttes ikke av denne appoversikt-appen. Du må bytte til en kompatibel appoversikt."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Avbryt"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Bruker av arbeidsenhet"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Konfigurer enheten din"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Behandler konfigureringsdata ..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Kobler til Wi-Fi ..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"Laster ned admin-appen ..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"Installerer admin-appen ..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Angir enhetseieren ..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Vil du stoppe konfigurasjonen?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Er du sikker på at du vil stoppe konfigureringen og slette enhetens data?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Avbryt"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"OK"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Tilbakestill"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Kunne ikke konfigurere enheten din. Ta kontakt med IT-avdelingen."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Denne enheten er allerede konfigurert"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Kan ikke koble til Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Kunne ikke bruke admin-appen på grunn av en sjekksumfeil. Ta kontakt med IT-avdelingen."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Kan ikke laste ned administratorappen"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Kan ikke bruke admin-appen. Den mangler komponenter eller er korrupt. Ta kontakt med IT-avdelingen."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Kan ikke installere administratorappen"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Administratorappen er ikke installert på enheten din"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Vil du stoppe konfigureringen?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Er du sikker på at du vil stoppe konfigureringen?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Nei"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Ja"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Avbryter ..."</string>
+</resources>
diff --git a/res/values-ne-rNP/strings.xml b/res/values-ne-rNP/strings.xml
new file mode 100644
index 0000000..b0dc284
--- /dev/null
+++ b/res/values-ne-rNP/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"उपकरण प्रदायक"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"ओहो!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"तपाईँको प्रोफाइल सेट अप गर्नुहोस्"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"तपाईँको संगठनले यो प्रोफाइल नियन्त्रण र सुरक्षित राख्छ। तपाईँले तपाईँको उपकरणमा अरू सबै कुरा नियन्त्रण गर्नुहोस्।"</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"निम्न अनुप्रयोग यो प्रोफाइल पहुँच गर्न आवश्यक हुने छ:"</string>
+    <string name="set_up" msgid="7012862095553564169">"मिलाउनुहोस्"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"तपाईँको कार्य प्रोफाइल स्थापना गर्दै..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"तपाईँको प्रशासकले सञ्जाल गतिविधि र तपाईँको उपकरणको स्थान जानकारी सहित अनुगमन गर्न र तपाईँको प्रोफाइल साथ सेटिङहरू प्रबन्ध, कर्पोरेट पहुँच, अनुप्रयोगहरू र डेटा, व्यवस्थापन गर्न सक्ने क्षमता छ।"</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"तपाईँको प्रशासकले सञ्जाल गतिविधि र तपाईँको उपकरणको स्थान जानकारी सहित अनुगमन गर्न र तपाईँको उपकरण साथ सेटिङहरू प्रबन्ध, कर्पोरेट पहुँच, अनुप्रयोगहरू, डेटा, व्यवस्थापन गर्न सक्ने क्षमता छ।"</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"तपाईँको संगठनको गोपनीयता नीति सहित अधिक जानकारीको लागि तपाईँको प्रशासकसँग सम्पर्क गर्नुहोस्।"</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"थप सिक्नुहोस्"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"रद्द गर्नुहोस्"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"ठीक छ"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"कार्य प्रोफाइल"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"तपाईं संग पहिलेनै तपाईँको उपकरणमा कार्य प्रोफाइल छ। तपाईं यसलाई हटाउन चाहनुहुन्छ?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"तपाईं यो कार्य प्रोफाइल हटाउन निश्चित हुनुहुन्छ? यसको सबै डेटा मेटिनेछ।"</string>
+    <string name="delete_profile" msgid="7107020982626129151">"हटाउनुहोस्"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"रद्द गर्नुहोस्"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"तपाईँको कार्य प्रोफाइल स्थापना जारी गर्न, तपाईँले आफ्नो उपकरण गुप्तिकरण गर्न आवश्यक छ। यसले केही समय लाग्न सक्छ।"</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"रद्द गर्नुहोस्"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"गुप्तिकरण"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"गुप्तिकरण पूर्ण"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"तपाईँको काम प्रोफाइल स्थापना जारी राख्न छुनुहोस्"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"तपाईँको कार्य प्रोफाइल स्थापित गर्न सकिएन। तपाईँको आईटी विभाग सम्पर्क गर्नुहोस् वा पछि फेरि प्रयास गर्नुहोस्।"</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"तपाईंको उपकरणले कार्य प्रोफाइलहरू समर्थन गर्दैन।"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"कार्य प्रोफाइल उपकरण मालिक द्वारा स्थापित गर्न आवश्यक छ"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"तपाईँको कार्य प्रोफाइल यस सुरुवातकर्ता अनुप्रयोग समर्थित छैन। तपाईँले यससँग उपयुक्त एउटा सुरुवातकर्तामा स्विच गर्न आवश्यक छ।"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"रद्द गर्नुहोस्"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"ठीक छ"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"कार्य उपकरणको प्रयोगकर्ता"</string>
+    <string name="setup_device" msgid="6725265673245816366">"तपाईँको उपकरण स्थापना गर्नुहोस्"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"स्थापना डेटा प्रशोधन गर्दै..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"वाइफाइ जडान गर्दै..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"प्रशासनिक अनुप्रयोग डाउनलोड गर्दै..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"प्रशासनिक अनुप्रयोग स्थापना गर्दै..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"उपकरण मालिक स्थापना गर्दै..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"सेट अप गर्न रोक्नुहुन्छ?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"के तपाईं स्थापना रोक्न र तपाईँको उपकरणको डेटा मेट्न चाहनुहुन्छ?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"रद्द गर्नुहोस्"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"ठीक छ"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"पुनःसेट गर्नुहोस्"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"तपाईँको उपकरण स्थापना गर्न सकिएन। तपाईँको आईटी विभागमा सम्पर्क गर्नुहोस्।"</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"यो उपकरण पहिले देखि नै स्थापित छ"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"वाई-फाई संग जडान हुन सकेन"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"प्रशासन अनुप्रयोग चेकसम त्रुटिको कारणले प्रयोग गर्न सकिएन। तपाईँको आईटी विभागमा सम्पर्क गर्नुहोस्।"</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"प्रशासक अनुप्रयोग डाउनलोड गर्न सकिएन"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"प्रशासन अनुप्रयोग प्रयोग गर्न सकिएन। यो अवयवहरू हराइरहेका वा भ्रष्ट हुन्। तपाईँको आईटी विभागमा सम्पर्क गर्नुहोस्।"</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"प्रशासक अनुप्रयोग स्थापना गर्न सकिएन"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"प्रशासन अनुप्रयोग तपाईँको उपकरणमा स्थापना गरिएको छैन"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"सेट अप गर्न रोक्नुहुन्छ?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"तपाईँ सेटअप गर्न रोक्न निश्चित हुनुहुन्छ?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"होइन"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"हो"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"रद्द गरिँदै..."</string>
+</resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
new file mode 100644
index 0000000..49c753b
--- /dev/null
+++ b/res/values-nl/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Apparaatregistratie"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Oeps!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Uw profiel instellen"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Uw organisatie beheert uw profiel en beveiligt dit. U beheert alle andere gegevens op uw apparaat."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"De volgende app heeft toegang nodig tot dit profiel:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Instellen"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Uw werkprofiel instellen..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Uw beheerder kan instellingen, zakelijke toegang, apps en gegevens bijhouden en beheren die aan het profiel zijn gekoppeld, waaronder netwerkactiviteit en de locatiegegevens van uw apparaat."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Uw beheerder kan instellingen, zakelijke toegang, apps en gegevens die aan dit profiel zijn gekoppeld, waaronder netwerkactiviteit en de locatiegegevens van uw apparaat, bijhouden en beheren."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Neem contact op met uw beheerder voor meer informatie, waaronder het privacybeleid van uw organisatie."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Meer informatie"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Annuleren"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"OK"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Werkprofiel"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Uw apparaat bevat al een werkprofiel. Wilt u dit verwijderen?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Weet u zeker dat u dit werkprofiel wilt verwijderen? Alle bijbehorende gegevens worden verwijderd."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Verwijderen"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Annuleren"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Als u wilt doorgaan met instellen, moet u uw apparaat versleutelen. Dit kan even duren."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Annuleren"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Versleutelen"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Versleuteling voltooid"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Tik hierop om door te gaan met het instellen van uw werkprofiel"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Kan uw werkprofiel niet instellen. Neem contact op met uw IT-afdeling of probeer het later opnieuw."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Uw apparaat ondersteunt geen werkprofielen"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Werkprofielen moeten worden geconfigureerd door de eigenaar van het apparaat"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Uw werkprofiel wordt niet ondersteund door deze Launcher-app. U moet overschakelen naar een Launcher die compatibel is."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Annuleren"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Gebruiker van zakelijk apparaat"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Uw apparaat instellen"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Configuratiegegevens verwerken..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Verbinding maken met wifi..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"De beheer-app downloaden..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"De beheer-app installeren..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"De eigenaar van het apparaat instellen..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Configureren stoppen?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Weet u zeker dat u wilt stoppen met instellen en de gegevens op uw apparaat wilt wissen?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Annuleren"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"OK"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Opnieuw instellen"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Kan uw apparaat niet instellen. Neem contact op met uw IT-afdeling."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Dit apparaat is al geconfigureerd"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Kan geen verbinding maken met wifi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Kan de beheer-app niet gebruiken vanwege een controlesomfout. Neem contact op met uw IT-afdeling."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Kan de beheer-app niet downloaden"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Kan de beheer-app niet gebruiken. Er ontbreken onderdelen of de app is beschadigd. Neem contact op met uw IT-afdeling."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Kan de beheer-app niet installeren"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"De beheer-app is niet geïnstalleerd op uw apparaat"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Configureren stoppen?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Weet u zeker dat u het configureren wilt stoppen?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Nee"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Ja"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Annuleren..."</string>
+</resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
new file mode 100644
index 0000000..6fb37c2
--- /dev/null
+++ b/res/values-pl/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Podmiot obsługujący urządzenie administracyjnie"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Ups!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Wypełnij swój profil"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Twoja organizacja kontroluje i zabezpiecza ten profil. Cała pozostała zawartość urządzenia jest pod Twoją kontrolą."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Aplikacja, która będzie potrzebować dostępu do tego profilu:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Skonfiguruj"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Konfigurowanie profilu do pracy..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Administrator może monitorować ustawienia, firmowe uprawnienia dostępu, aplikacje i dane powiązane z profilem (w tym aktywność w sieci i informacje o lokalizacji Twojego urządzenia) oraz nimi zarządzać."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Administrator może monitorować ustawienia, firmowe uprawnienia dostępu, aplikacje i dane powiązane z tym urządzeniem (w tym aktywność w sieci i informacje o lokalizacji) oraz nimi zarządzać."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Aby dowiedzieć się więcej i poznać politykę prywatności swojej organizacji, skontaktuj się z administratorem."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Więcej informacji"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Anuluj"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"OK"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Profil do pracy"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Masz już profil do pracy na tym urządzeniu. Chcesz go usunąć?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Czy na pewno chcesz usunąć ten profil do pracy? Wszystkie zawarte w nim dane zostaną usunięte."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Usuń"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Anuluj"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Aby kontynuować konfigurowanie profilu do pracy, musisz zaszyfrować swoje urządzenie. Może to trochę potrwać."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Anuluj"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Zaszyfruj"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Szyfrowanie zostało zakończone"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Kliknij, by kontynuować konfigurowanie profilu do pracy"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Nie można skonfigurować profilu do pracy. Skontaktuj się z działem IT lub spróbuj później jeszcze raz."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Urządzenie nie obsługuje profili do pracy"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Profile do pracy muszą być konfigurowane przez właściciela urządzenia"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Ta aplikacja uruchamiająca nie obsługuje Twojego profilu do pracy. Przełącz się na zgodną."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Anuluj"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Użytkownik urządzenia służbowego"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Konfigurowanie urządzenia"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Przetwarzanie danych konfiguracyjnych..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Łączenie z Wi-Fi..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"Pobieranie aplikacji administratora..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"Instalowanie aplikacji administratora..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Ustawianie właściciela urządzenia..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Przerwać konfigurację?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Czy na pewno chcesz zatrzymać konfigurowanie i usunąć dane z urządzenia?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Anuluj"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"OK"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Zresetuj"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Nie można skonfigurować urządzenia. Skontaktuj się z działem IT."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"To urządzenie już jest skonfigurowane"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Nie udało się połączyć z siecią Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Nie można użyć aplikacji administratora z powodu błędu sumy kontrolnej. Skontaktuj się z działem IT."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Nie udało się pobrać aplikacji administratora"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Nie można użyć aplikacji administratora. Brak elementów lub są one uszkodzone. Skontaktuj się z działem IT."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Nie udało się zainstalować aplikacji administratora"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Aplikacja administratora nie jest zainstalowana na urządzeniu"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Przerwać konfigurację?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Czy na pewno chcesz przerwać konfigurację?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Nie"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Tak"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Anuluję..."</string>
+</resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
new file mode 100644
index 0000000..cdf77fc
--- /dev/null
+++ b/res/values-pt-rPT/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Aprovisionador de dispositivos"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Ups!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Configurar o seu perfil"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"A sua entidade controla este perfil e mantém-no seguro. O utilizador controla tudo o resto no dispositivo."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"A aplicação seguinte terá de aceder a este perfil:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Configurar"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"A configurar o perfil de trabalho..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"O administrador tem a capacidade de monitorizar e gerir as definições, o acesso empresarial, as aplicações e os dados associados a este perfil, incluindo a atividade de rede e as informações de localização do seu dispositivo."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"O administrador tem a capacidade de monitorizar e gerir as definições, o acesso empresarial, as aplicações e os dados associados a este dispositivo, incluindo a atividade de rede e as informações de localização do seu dispositivo."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Contacte o administrador para obter mais informações, incluindo as políticas de privacidade da sua entidade."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Saiba mais"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Cancelar"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"OK"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Perfil de trabalho"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Já tem um perfil de trabalho no seu dispositivo. Pretende removê-lo?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Tem a certeza de que pretende remover este perfil de trabalho? Todos os seus dados serão eliminados."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Remover"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Cancelar"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Para continuar a configuração do seu perfil de trabalho, terá de encriptar o dispositivo. Esta ação poderá demorar algum tempo."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Cancelar"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Encriptar"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Encriptação concluída"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Toque para continuar a configurar o seu perfil de trabalho"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Não foi possível configurar o perfil de trabalho. Contacte o departamento de TI ou tente novamente mais tarde."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"O dispositivo não é compatível com perfis de trabalho"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Os perfis de trabalho têm de ser configurados pelo proprietário do dispositivo"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"O seu perfil de trabalho não é suportado por esta aplicação de launcher. Terá de mudar para um launcher compatível."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Cancelar"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Ok"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Utilizador de dispositivo de trabalho"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Configurar o dispositivo"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"A processar dados de configuração..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"A estabelecer ligação Wi-Fi..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"A transferir a aplicação de administração..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"A instalar a aplicação de administração..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"A configurar o proprietário do dispositivo..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Pretende parar a configuração?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Tem a certeza de que pretende parar a configuração e apagar os dados do dispositivo?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Cancelar"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"OK"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Repor"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Não foi possível configurar o dispositivo. Contacte o departamento de TI."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"O dispositivo já está configurado"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Não foi possível ligar à rede Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Não foi possível utilizar a aplicação de administração devido a um erro de soma de verificação. Contacte o departamento de TI."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Não foi possível transferir a aplicação de administração"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Não é possível utilizar a aplicação de administração. Faltam componentes ou está danificada. Contacte o departamento de TI."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Não foi possível instalar a aplicação de administração"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"A aplicação de administração não está instalada no dispositivo"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Pretende parar a configuração?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Tem a certeza de que pretende parar a configuração?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Não"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Sim"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"A cancelar..."</string>
+</resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
new file mode 100644
index 0000000..a1aaf6f
--- /dev/null
+++ b/res/values-pt/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Provisionador do dispositivo"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Epa!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Configurar seu perfil"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Sua organização controla este perfil e o mantém protegido. Você controla todo o resto em seu dispositivo."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"O seguinte app precisará acessar este perfil:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Configurar"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Configurando seu perfil de trabalho…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"O administrador pode monitorar e gerenciar configurações, acesso corporativo, apps e dados associados com o perfil, incluindo a atividade na rede e informações de localização do dispositivo."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"O administrador pode monitorar e gerenciar configurações, acesso corporativo, apps e dados associados a este dispositivo, incluindo a atividade na rede e informações de localização do dispositivo."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Entre em contato com o administrador para receber mais informações, incluindo as políticas de privacidade da organização."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Saiba mais"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Cancelar"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"Ok"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Perfil de trabalho"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Você já tem um perfil de trabalho no dispositivo. Deseja removê-lo?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Tem certeza de que deseja remover este perfil de trabalho? Todos os seus dados serão excluídos."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Remover"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Cancelar"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Para continuar a configuração do perfil de trabalho, você precisará criptografar o dispositivo. Isso pode levar algum tempo."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Cancelar"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Criptografar"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Criptografia concluída"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Toque para continuar a configuração de seu perfil de trabalho"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Não foi possível configurar seu perfil de trabalho. Entre em contato com o departamento de TI ou tente novamente mais tarde."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"O dispositivo não aceita perfis de trabalho"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Os perfis de trabalho precisam ser configurados pelo proprietário do dispositivo"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"O app da tela de início não aceita seu perfil de trabalho. É necessário mudar para uma tela de início compatível."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Cancelar"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Usuário de dispositivo de trabalho"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Configurar o dispositivo"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Processando dados de configuração…"</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Conectando-se ao Wi-Fi..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"Fazendo o download do app para administrador…"</string>
+    <string name="progress_install" msgid="9169411715762296097">"Instalando o app para administrador…"</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Configurando o proprietário do dispositivo…"</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Interromper configuração?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Tem certeza de que deseja interromper a configuração e limpar os dados de seu dispositivo?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Cancelar"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"OK"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Redefinir"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Não foi possível configurar o dispositivo. Entre em contato com o departamento de TI."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Este dispositivo já está configurado"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Não foi possível se conectar a redes Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Não foi possível usar o app para administrador devido a um erro de soma de verificação. Entre em contato com o departamento de TI."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Não foi possível fazer o download do app para administrador"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Não é possível usar o app para administrador. Alguns componentes estão ausentes ou corrompidos. Entre em contato com o departamento de TI."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Não foi possível instalar o app para administrador"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"O app para administrador não foi instalado no dispositivo"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Interromper configuração?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Tem certeza de que deseja interromper a configuração?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Não"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Sim"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Cancelando..."</string>
+</resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
new file mode 100644
index 0000000..f9810bb
--- /dev/null
+++ b/res/values-ro/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Alocarea de resurse pentru dispozitiv"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Hopa!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Configurați-vă profilul"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Organizația dvs. controlează acest profil și menține siguranța acestuia. Dvs. controlați restul conținutului de pe dispozitiv."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Următoarea aplicație va trebui să vă acceseze profilul:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Configurați"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Se configurează profilul de serviciu..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Administratorul poate monitoriza și a gestiona setările, accesul la nivelul companiei, aplicațiile și datele asociate cu profilul, inclusiv activitatea în rețea și informațiile despre locația dispozitivului."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Administratorul poate monitoriza și gestiona setările, accesul la nivelul companiei, aplicațiile și datele asociate cu acest dispozitiv, inclusiv activitatea în rețea și informațiile despre locația dispozitivului."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Contactați administratorul pentru mai multe informații, inclusiv politicile de confidențialitate ale organizației."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Aflați mai multe"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Anulați"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"OK"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Profilul de serviciu"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Aveți deja un profil de serviciu pe dispozitiv. Doriți să îl eliminați?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Sigur doriți să ștergeți acest profil de serviciu? Toate datele vor fi șterse."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Ștergeți"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Anulați"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Pentru a continua configurarea profilului de serviciu, va trebui să criptați dispozitivul. Aceasta poate dura ceva timp."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Anulați"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Criptați"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Criptare completă"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Atingeți pentru a continua configurarea profilului de serviciu"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Nu s-a putut configura profilul de serviciu. Contactați departamentul IT sau încercați din nou mai târziu."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Dispozitivul dvs. nu acceptă profiluri de serviciu"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Profilurile de serviciu trebuie configurate de proprietarul dispozitivului"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Profilul dvs. de lucru nu este acceptat de aplicația de lansare. Va trebui să comutați la o aplicație de lansare compatibilă."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Anulați"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Utilizatorul dispozitivului de serviciu"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Configurarea dispozitivului"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Se procesează datele de configurare..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Se conectează la Wi-Fi..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"Se descarcă aplicația de administrare..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"Se instalează aplicația de administrare..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Se setează proprietarul dispozitivului..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Opriți configurarea?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Sigur doriți să opriți configurarea și să ștergeți datele de pe dispozitiv?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Anulați"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"OK"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Resetați"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Configurarea nu s-a putut efectua. Contactați departamentul IT."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Acest dispozitiv este deja configurat"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Nu se poate conecta la Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Nu se poate utiliza aplicația de administrare din cauza unei erori de sumă de control. Contactați departamentul IT."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Eroare la descărcarea aplicației de administrare"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Nu se poate utiliza aplicația de administrare. Este deteriorată sau lipsesc componente. Contactați departamentul IT."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Eroare la instalarea aplicației de administrare"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Aplicația de administrare nu este instalată pe dispozitiv"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Opriți configurarea?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Sigur doriți să opriți configurarea?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Nu"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Da"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Se anulează..."</string>
+</resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
new file mode 100644
index 0000000..8011fa5
--- /dev/null
+++ b/res/values-ru/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Администратор устройства"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Ошибка"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Настройка профиля"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Ваша организация управляет этим профилем и обеспечивает его защиту. Ко всем остальным данным, приложениям и настройкам на устройстве есть доступ только у вас."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Доступ к этому профилю потребуется следующему приложению:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Настроить"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Настройка рабочего профиля..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Администратор может контролировать настройки, приложения и параметры доступа к корпоративным ресурсам в этом профиле, а также связанные с ним данные, например сведения о местоположении или действиях в Сети."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Администратор может контролировать настройки, приложения и параметры доступа к корпоративным ресурсам на этом устройстве, а также связанные с ним данные, например сведения о местоположении или действиях в Сети."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Обратитесь к администратору за дополнительной информацией, в том числе политикой конфиденциальности вашей организации."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Подробнее…"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Отмена"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"ОК"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Рабочий профиль"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"На этом устройстве уже есть рабочий профиль. Удалить его?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Удалить этот рабочий профиль? Все его данные также будут удалены."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Удалить"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Отмена"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Чтобы продолжить настройку рабочего профиля, необходимо зашифровать устройство. На это может потребоваться время."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Отмена"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Зашифровать"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Шифрование завершено"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Нажмите, чтобы продолжить настройку рабочего профиля"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Не удалось настроить рабочий профиль. Обратитесь в отдел технической поддержки вашей компании или повторите попытку позже."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Устройство не поддерживает рабочие профили"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Настройку рабочего профиля должен выполнять владелец устройства"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Эта панель запуска не поддерживает рабочие профили. Выберите совместимую панель."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Отмена"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"ОК"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Пользователь управляемого устройства"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Настройте устройство"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Обработка данных..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Подключение к Wi-Fi..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"Скачивание приложения для администрирования..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"Установка приложения для администрирования..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Настройка владельца устройства..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Прервать настройку?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Прервать настройку и удалить все данные с устройства?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Отмена"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"ОК"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Сброс"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Не удалось настроить устройство. Обратитесь в отдел технической поддержки вашей компании."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Настройка уже выполнена"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Не удалось подключиться к сети Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Нельзя использовать приложение для администрирования из-за ошибки при проверке контрольной суммы. Обратитесь в отдел технической поддержки вашей компании."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Не удалось скачать приложение для администрирования"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Нельзя использовать приложение для администрирования, так как в нем не хватает компонентов или они повреждены. Обратитесь в отдел технической поддержки вашей компании."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Не удалось установить приложение для администрирования"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"На вашем устройстве не установлено приложение для администрирования"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Подтвердите действие"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Прервать настройку?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Нет"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Да"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Отмена..."</string>
+</resources>
diff --git a/res/values-si-rLK/strings.xml b/res/values-si-rLK/strings.xml
new file mode 100644
index 0000000..5e57b16
--- /dev/null
+++ b/res/values-si-rLK/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"උපාංග වෙන් කිරීම"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"අපොයි!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"ඔබගේ පැතිකඩ සකසන්න"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"ඔබගේ සංවිධානය මෙම පැතිකඩ පාලනය කරයි සහ එය ආරක්ෂිතව තබයි. ඔබගේ උපාංගයේ අනෙක් සියලු ඔබ පාලනය කරයි."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"මෙම පැතිකඩ ප්‍රවේශ වීමට ඊළගට එන යෙදුම් වලට අවශ්‍යය:"</string>
+    <string name="set_up" msgid="7012862095553564169">"සකසන්න"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"ඔබගේ වැඩ කරන පැතිකඩ සකසමින්..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"ජාල ක්‍රියාකාරකම් සහ ඔබගේ උපාංගයේ ස්ථාන තොරතුරු ඇතුළුව මෙම පැතිකඩ සමඟ සම්බන්ධිත සැකසීම්, සංස්ථාපිත ප්‍රවේශය, යෙදුම් සහ දත්ත නිරීෂණය සහ කළමනාකරණය කිරීමේ හැකියාව ඔබගේ පාලකයාට තිබේ."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"ජාල ක්‍රියාකාරකම් සහ ඔබගේ උපාංගයේ ස්ථාන තොරතුරු ඇතුළුව මෙම උපාංගය සමඟ සම්බන්ධිත සැකසීම්, සංස්ථාපිත ප්‍රවේශය, යෙදුම් සහ දත්ත නිරීෂණය සහ කළමනාකරණය කිරීමේ හැකියාව ඔබගේ පාලකයාට තිබේ."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"ඔබගේ සංවිධානයේ පෞද්ගලිකත්ව ප්‍රතිපත්ති ඇතුළුව, තව තොරතුරු සඳහා ඔබගේ පාලකයා සම්බන්ධ කරගන්න."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"තව දැනගන්න"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"අවලංගු කරන්න"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"හරි"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"කාර්යාල පැතිකඩ"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"ඔබගේ උපාංගයේ දැනටමත් කාර්යාල පැතිකඩක් තිබේ.ඔබට එය ඉවත් කිරීමට අවශ්‍ය ද?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"මෙම කාර්යාල පැතිකඩ ඉවත් කිරීමට අවශ්‍ය බව ඔබට සහතිකද? එහි සියලුම දත්ත මැකෙවී."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"ඉවත් කරන්න"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"අවලංගු කරන්න"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"ඔබගේ කාර්යාල පැතිකඩේ සැකසීම ඉදිරියට කරගෙන යෑමට, ඔබගේ උපාංගය සංකේතනය කිරීමට ඔබට අවශ්‍ය වේ. මෙයට ටික වෙලාවක් ගත වේ."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"අවලංගු කරන්න"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"සංකේතනය"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"සංකේතනය සම්පූර්ණයි"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"ඔබගේ වැඩ පැතිකඩ සැකසීම දිගටම කිරීමට ස්පර්ශ කරන්න"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"ඔබගේ කාර්යාල පැතිකඩ සැකසීමට නොහැකි විය. ඔබගේ IT අංශය සම්බන්ධ කර ගන්න හෝ පසුව නැවත උත්සාහ කරන්න."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"ඔබගේ උපාංගය කාර්යාල පැතිකඩ වෙත සහය දක්වන්නේ නැත."</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Work profiles need to be set up by the device owner"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"මෙම දියත් කරන යෙදුම මඟින් ඔබගේ කාර්යාල පැතිකඩට සහාය ලබා නොදේ. අනුකූල දියත් කරනයකට ඔබට මාරු වීමට අවශ්‍ය වේ."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"අවලංගු කරන්න"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"හරි"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"කාර්යාල උපාංගයේ පරිශීලකයා"</string>
+    <string name="setup_device" msgid="6725265673245816366">"ඔබගේ උපාංගය සකසන්න"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"ස්ථාපන දත්ත සකසමින්..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Wi-Fi වෙත සම්බන්ධ වෙමින්..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"පරිපාලක යෙදුම බාගත කරමින්..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"පරිපාලක යෙදුම ස්ථාපනය කරමින්..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"උපාංග හිමිකරු සකසමින්..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"සැකසීම නැවත් වන්නද?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"සැකසීම නැවත්වීමට සහ ඔබගේ උපාංගයේ දත්ත මැකීමට අවශ්‍ය බව ඔබට සහතිකද?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"අවලංගු කරන්න"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"හරි"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"යළි පිහිටුවන්න"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"ඔබගේ උපාංගය කළ නොහැක. ඔබගේ IT අංශය සම්බන්ධ කරගන්න."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"මෙම උපාංගය දැනටමත් සකසා තිබේ."</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi වෙත සම්බන්ධ විය නොහැක"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Checksum දෝෂය හේතුවෙන් පරිපාලක යෙදුම භාවිතා කළ නොහැක. ඔබගේ IT අංශය සම්බන්ධ කරගන්න."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"පරිපාලක යෙදුම බාගැනීම කළ නොහැක."</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"පරිපාලක යෙදුම භාවිතා කළ නොහැක. එහි අංශ නැත හෝ විකෘති වී ඇත. ඔබගේ IT අංශය සම්බන්ධ කරගන්න."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"පරිපාලක යෙදුම ස්ථාපනය කළ නොහැක."</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"ඔබගේ උපාංගය මත පරිපාලක යෙදුම ස්ථාපනය කර නොමැත."</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"සැකසීම නැවත් වන්නද?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"සකස් කිරීම නැවත් වීමට ඔබට අවශ්‍ය බව ඔබට සහතිකද?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"නැත"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"ඔව්"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"අවලංගු කරමින්…"</string>
+</resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
new file mode 100644
index 0000000..27cde1e
--- /dev/null
+++ b/res/values-sk/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Poskytovateľ zariadenia"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Ojoj!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Nastavenie profilu"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Tento profil riadi a zabezpečuje vaša spoločnosť. Všetko ostatné na tomto zariadení máte pod kontrolou vy."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Nasledujúca aplikácia bude potrebovať prístup k tomuto profilu:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Nastaviť"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Nastavuje sa pracovný profil..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Správca môže sledovať a spravovať nastavenia, firemný prístup, aplikácie a údaje súvisiace s týmto profilom, vrátane sieťovej aktivity a informácií o polohe zariadenia."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Správca môže sledovať a spravovať nastavenia, firemný prístup, aplikácie a údaje súvisiace s týmto zariadením, vrátane sieťovej aktivity a informácií o polohe zariadenia."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Viac informácií (vrátane pravidiel ochrany osobných údajov vašej organizácie) vám poskytne správca."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Viac informácií"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Zrušiť"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"OK"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Pracovný profil"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Na svojom zariadení už máte pracovný profil. Chcete ho odstrániť?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Naozaj chcete odstrániť tento pracovný profil? Všetky jeho údaje budú odstránené."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Odstrániť"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Zrušiť"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Ak chcete pokračovať v nastavovaní pracovného profilu, musíte zašifrovať svoje zariadenie. Môže to chvíľu trvať."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Zrušiť"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Šifrovať"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Šifrovanie bolo dokončené"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Klepnutím pokračujte v nastavení pracovného profilu."</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Nastavenie pracovného profilu sa nepodarilo. Kontaktujte oddelenie IT alebo to skúste znova neskôr."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Vaše zariadenie nepodporuje pracovné profily"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Pracovné profily môže nastaviť iba vlastník zariadenia"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Táto aplikácia spúšťača nepodporuje váš pracovný profil. Musíte prepnúť na spúšťač, ktorý je kompatibilný."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Zrušiť"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Používateľ pracovného zariadenia"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Nastavenie zariadenia"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Spracovávajú sa údaje nastavenia..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Pripája sa k sieti Wi-Fi..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"Sťahuje sa aplikácia na správu..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"Inštaluje sa aplikácia na správu..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Nastavuje sa vlastník zariadenia..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Zastaviť nastavovanie?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Naozaj chcete nastavenie ukončiť a odstrániť údaje zariadenia?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Zrušiť"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"OK"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Obnoviť"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Nastavenie zariadenia sa nepodarilo. Kontaktujte oddelenie IT."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Toto zariadenie je už nastavené"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Nepodarilo sa pripojiť k sieti Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Pre chybu kontrolného súčtu sa aplikácia na správu nedá použiť. Kontaktujte oddelenie IT."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Aplikáciu na správu sa nepodarilo stiahnuť"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Aplikácia na správu sa nedá použiť. Buď v nej chýbajú niektoré komponenty, alebo je poškodená. Kontaktujte oddelenie IT."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Aplikáciu na správu sa nepodarilo nainštalovať"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Na vašom zariadení nie je nainštalovaná aplikácia na správu"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Zastaviť nastavovanie?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Naozaj chcete zrušiť nastavovanie?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Nie"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Áno"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Ruší sa..."</string>
+</resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
new file mode 100644
index 0000000..8fa209d
--- /dev/null
+++ b/res/values-sl/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Orodje za omogočanje uporabe naprav"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Ojoj!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Nastavite svoj profil"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Vaša organizacija nadzira ta profil in skrbi za njegovo varnost. Vi nadzirate vse drugo v napravi."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Ta aplikacija bo morala dostopati do tega profila:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Nastavitev"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Nastavljanje delovnega profila ..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Skrbnik lahko nadzira in upravlja nastavitve, dostop za podjetje, aplikacije in podatke, povezane s tem profilom, vključno z omrežno dejavnostjo in podatki o lokaciji naprave."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Skrbnik lahko nadzira in upravlja nastavitve, dostop za podjetje, aplikacije in podatke, povezane s to napravo, vključno z omrežno dejavnostjo in podatki o lokaciji naprave."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Za več informacij, vključno s pravilniki organizacije o zasebnosti, se obrnite na skrbnika."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Več o tem"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Prekliči"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"V redu"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Delovni profil"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"V napravi že imate delovni profil. Ga želite odstraniti?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Ste prepričani, da želite odstraniti ta delovni profil? Vsi podatki v njem bodo izbrisani."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Odstrani"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Prekliči"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Če želite nadaljevati z nastavitvijo delovnega profila, morate šifrirati napravo. To lahko traja nekaj časa."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Prekliči"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Šifriranje"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Šifriranje je dokončano"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Če želite nadaljevati z nastavljanjem delovnega profila, se dotaknite."</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Delovnega profila ni bilo mogoče nastaviti. Obrnite se na oddelek za IT ali poskusite znova pozneje."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Naprava ne podpira delovnih profilov"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Delovne profile lahko nastavi samo lastnik naprave."</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Ta aplikacija zaganjalnika ne podpira vašega delovnega profila. Uporabiti morate združljiv zaganjalnik."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Prekliči"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"V redu"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Uporabnik delovne naprave"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Nastavitev naprave"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Obdelava podatkov za nastavitev ..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Vzpostavljanje povezave z omrežjem Wi-Fi ..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"Prenašanje skrbniške aplikacije ..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"Nameščanje skrbniške aplikacije ..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Nastavljanje lastnika naprave ..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Želite ustaviti namestitev?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Ali želite res ustaviti nastavitev in izbrisati podatke v napravi?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Prekliči"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"V redu"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Ponastavi"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Naprave ni bilo mogoče nastaviti. Obrnite se na oddelek za IT."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Ta naprava je že nastavljena"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Z omrežjem Wi-Fi se ni mogoče povezati"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Skrbniške aplikacije ni bilo mogoče uporabiti zaradi napake kontrolne vsote. Obrnite se na oddelek za IT."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Skrbniške aplikacije ni bilo mogoče prenesti"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Skrbniške aplikacije ni mogoče uporabljati. Manjkajo ji komponente ali pa je poškodovana. Obrnite se na oddelek za IT."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Skrbniške aplikacije ni bilo mogoče namestiti"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Skrbniška aplikacija ni nameščena v napravi"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Želite ustaviti namestitev?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Ali res želite ustaviti namestitev?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Ne"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Da"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Preklic ..."</string>
+</resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
new file mode 100644
index 0000000..3cbb52a
--- /dev/null
+++ b/res/values-sr/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Додељивач уређаја"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Упс!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Подесите профил"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Организација контролише и штити овај профил. Ви контролишете све остало на уређају."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Следећа апликација мора да приступи овом профилу:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Подеси"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Подешавање профила за посао..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Администратор може да надгледа подешавања, корпоративни приступ, апликације и податке повезане са профилом, укључујући мрежну активност и информације о локацији уређаја, као и да управља њима."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Администратор може да надгледа подешавања, корпоративни приступ, апликације и податке повезане са овим уређајем, укључујући мрежну активност и информације о локацији уређаја, као и да управља њима."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Контактирајте администратора за више информација, укључујући политику приватности организације."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Сазнајте више"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Откажи"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"Потврди"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Профил за посао"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Већ имате пословни профил на уређају. Желите ли да га уклоните?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Желите ли стварно да уклоните овај пословни профил? Избрисаћете све његове податке."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Уклони"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Откажи"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Да бисте наставили са подешавањем пословног профила, морате да шифрујете уређај. То може да потраје."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Откажи"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Шифруј"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Шифровање је довршено"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Додирните да бисте наставили са подешавањем пословног профила"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Није могуће подесити профил за посао. Контактирајте ИТ сектор или покушајте поново касније."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Уређај не подржава пословне профиле"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Пословне профиле мора да подеси власник уређаја"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Ова апликација покретача не подржава пословни профил. Морате да пређете на компатибилан покретач."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Откажи"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Потврди"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Корисник пословног уређаја"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Подешавање уређаја"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Обрађују се подаци подешавања..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Повезивање са Wi-Fi-јем..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"Преузимање апликације за администраторе..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"Инсталирање апликације за администраторе..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Подешавање власника уређаја..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Желите ли да зауставите подешавање?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Да ли стварно желите да зауставите подешавање и да избришете податке уређаја?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Откажи"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"Потврди"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Ресетуј"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Није могуће подесити уређај. Контактирајте ИТ сектор."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Овај уређај је већ подешен"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Повезивање са Wi-Fi мрежом није успело"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Није могуће користити апликацију за администраторе због грешке у контролном збиру. Контактирајте ИТ сектор."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Преузимање апликације за администраторе није успело"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Није могуће користити апликацију за администраторе. Недостају јој компоненте или је оштећена. Контактирајте ИТ сектор."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Инсталирање апликације за администраторе није успело"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Апликација за администраторе није инсталирана на уређају"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Желите ли да зауставите подешавање?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Желите ли стварно да зауставите подешавање?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Не"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Да"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Отказује се..."</string>
+</resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
new file mode 100644
index 0000000..eea5d03
--- /dev/null
+++ b/res/values-sv/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Device Provisioner"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Hoppsan!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Konfigurera profilen"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Organisationen kontrollerar profilen och håller den säker. Du har kontroll över allt annat på enheten."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Följande app behöver åtkomst till profilen:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Konfigurera"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Konfigurerar arbetsprofilen …"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Administratören har möjlighet att kontrollera och hantera inställningar, företagsåtkomst, appar och data som är kopplade till profilen, inklusive nätverksaktivitet och enhetens platsuppgifter."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Administratören kan övervaka och hantera inställningar, företagsåtkomst, appar och data på den här enheten, inklusive nätverksaktivitet och enhetens platsuppgifter."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Kontakta administratören om du vill veta mer, inklusive om du vill veta mer om organisationens sekretesspolicy."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Läs mer"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Avbryt"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"OK"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Arbetsprofil"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Du har redan en arbetsprofil på enheten. Vill du ta bort den?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Vill du ta bort den här arbetsprofilen? All data kommer att raderas."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Ta bort"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Avbryt"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Du måste kryptera enheten om du vill fortsätta att konfigurera arbetsprofilen. Det kan ta ett tag."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Avbryt"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Kryptera"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Krypteringen är klar"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Tryck här om du vill fortsätta konfigurera din jobbprofil"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Det gick inte att konfigurera arbetsprofilen. Kontakta IT-avdelningen eller försök igen senare."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Enheten stöder inte arbetsprofiler"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Arbetsprofiler kan endast konfigureras av enhetens ägare"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Din jobbprofil stöds inte av det här startprogrammet. Du måste byta till ett kompatibelt startprogram."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Avbryt"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Person som använder en arbetsenhet"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Konfigurera enheten"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Bearbetar konfigurationsdata …"</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Ansluter till Wi-Fi …"</string>
+    <string name="progress_download" msgid="4995057798189799156">"Hämtar administrationsappen …"</string>
+    <string name="progress_install" msgid="9169411715762296097">"Installerar administrationsappen …"</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Ställer in enhetsägare …"</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Vill du avsluta konfigurationen?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Vill du avsluta konfigureringen och radera data på enheten?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Avbryt"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"OK"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Återställ"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Det gick inte att konfigurera enheten. Kontakta IT-avdelningen."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Enheten har redan konfigurerats"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Det gick inte att ansluta till Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Det gick inte att använda administrationsappen på grund av en felaktig kontrollsumma. Kontakta IT-avdelningen."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Det gick inte att hämta administrationsappen"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Administrationsappen kan inte användas. Komponenter saknas eller appen har skadats. Kontakta IT-avdelningen."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Det gick inte att installera administrationsappen"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Administrationsappen har inte installerats på enheten"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Vill du avsluta konfigurationen?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Vill du avsluta konfigurationen?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Nej"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Ja"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Avslutar ..."</string>
+</resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
new file mode 100644
index 0000000..ec4bd23
--- /dev/null
+++ b/res/values-sw/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Kitoaji cha Kifaa"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Lo!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Weka wasifu wako"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Shirika lako linadhibiti kifaa chako na kukiweka salama. Unadhibiti vitu vingine vyote kwenye kifaa chako."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Programu ifuatayo itahitaji kufikia wasifu huu:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Sanidi"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Inasanidi wasifu wako wa kazi..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Msimamizi wako ana uwezo wa kufuatilia na kusimamia mipangilio, ufikiaji wa kampuni, programu na data inayohusiana na wasifu, ikiwa ni pamoja na shughuli kwenye mtandao na maelezo kuhusu kilipo kifaa chako."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Msimamizi wako ana uwezo wa kufuatilia na kusimamia mipangilio, ufikiaji wa kampuni, programu, na data inayohusiana na kifaa hiki, ikiwa ni pamoja na shughuli kwenye mtandao na maelezo kuhusu kilipo kifaa chako."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Wasiliana na msimamizi wako kwa maelezo zaidi, ikiwa ni pamoja na sera za faragha za shirika lako."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Pata maelezo zaidi"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Ghairi"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"SAWA"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Wasifu wa kazini"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Tayari una wasifu wa kazini kwenye kifaa hiki. Je, unataka kuondoa wasifu huo?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Je, una uhakika unataka kuondoa wasifu huu wa kazini? Data yake yote itafutwa."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Ondoa"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Ghairi"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Ili uendelee kusanidi wasifu wako wa kazini, utahitaji kusimba kifaa chako kwa njia fiche. Hatua hii inaweza kuchukua muda."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Ghairi"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Simba kwa njia fiche"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Usimbaji fiche umekamilika"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Gusa ili uendelee kusanidi wasifu wako wa kazini"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Haikuweza kusanidi wasifu wako wa kazi. Wasiliana na idara yako ya Teknolojia ya Habari au ujaribu tena baadaye."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Kifaa chako hakitumii wasifu wa kazini"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Wasifu wa kazini unahitaji kusanidiwa na mmiliki wa kifaa"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Wasifu wako wa kazini hauwezi kutumiwa na kifungua programu hiki. Itabidi ubadili hadi kifungua programu kinachooana."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Ghairi"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Sawa"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Mtumiaji wa kifaa cha kazini"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Sanidi kifaa chako"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Inachakata data ya usanidi..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Inaunganisha kwenye Wi-Fi..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"Inapakua programu ya msimamizi..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"Inasakinisha programu ya msimamizi..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Inasanidi anayemiliki kifaa..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Ungependa kuacha kusanidi?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Una uhakika unataka kuacha kusanidi na unataka kufuta data iliyomo kwenye kifaa chako?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Ghairi"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"SAWA"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Weka upya"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Haikuweza kusanidi kifaa chako. Wasiliana na idara yako ya Teknolojia ya Habari."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Kifaa hiki tayari kimesanidiwa"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Haikuweza kuunganisha kwenye Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Haikuweza kutumia programu ya msimazi kutokana na hitilafu ya checksum. Wasiliana na idara yako ya Teknolojia ya Habari."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Haikuweza kupakua programu ya msimamizi"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Haiwezi kutumia programu ya msimamizi. Inakosa vipengele au ina hitilafu. Wasiliana na idara yako ya Teknolojia ya Habari."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Haikuweza kusakinisha programu ya msimamizi"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Programu ya msimamizi haijasakinishwa kwenye kifaa chako"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Ungependa kuacha kusanidi?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Je, una uhakika unataka kuacha kusanidi?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Hapana"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Ndiyo"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Inaghairi..."</string>
+</resources>
diff --git a/res/values-ta-rIN/strings.xml b/res/values-ta-rIN/strings.xml
new file mode 100644
index 0000000..e666568
--- /dev/null
+++ b/res/values-ta-rIN/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"சாதன ஃப்ரோவிஷனர்"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"அச்சச்சோ!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"உங்கள் சுயவிவரத்தை அமைக்கவும்"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"உங்கள் நிறுவனம், இந்தச் சுயவிவரத்தைக் கட்டுப்படுத்தி, அதைப் பாதுகாப்பாக வைக்கிறது. உங்கள் சாதனத்தில் இருந்து எல்லாவற்றையும் கட்டுப்படுத்தலாம்."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"பின்வரும் பயன்பாடு இந்தச் சுயவிவரத்தை அணுக வேண்டும்:"</string>
+    <string name="set_up" msgid="7012862095553564169">"அமை"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"பணி சுயவிவரத்தை அமைக்கிறது..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"நெட்வொர்க் செயல்பாடு, சாதன இடத் தகவல் உட்பட சுயவிவரத்துடன் தொடர்புடைய அமைப்புகள், நிறுவன அணுகல், பயன்பாடுகள் மற்றும் தரவு ஆகியவற்றை உங்கள் நிர்வாகியால் கண்காணிக்கவும் நிர்வகிக்கவும் முடியும்."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"உங்கள் நிர்வாகியால் நெட்வொர்க் செயல்பாடு, சாதனத்தின் இருப்பிடத் தகவல் உட்பட இந்தச் சாதனத்துடன் தொடர்புடைய அமைப்புகள், நிறுவன அணுகல், பயன்பாடுகள் மற்றும் தரவைக் கண்காணிக்கவும் நிர்வகிக்கவும் முடியும்."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"உங்கள் நிறுவனத்தின் தனியுரிமைக் கொள்கைகள் உட்பட, கூடுதல் தகவலுக்கு நிர்வாகியைத் தொடர்புகொள்ளவும்."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"மேலும் அறிக"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"ரத்துசெய்"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"சரி"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"பணி சுயவிவரம்"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"சாதனத்தில் ஏற்கனவே பணி சுயவிவரத்தை வைத்துள்ளீர்கள். அதை அகற்றவா?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"பணி சுயவிவரத்தை நிச்சயமாக அகற்றவா? இதன் எல்லா தரவும் நீக்கப்படும் என்பதை நினைவில் கொள்ளவும்."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"அகற்று"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"ரத்துசெய்"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"பணி சுயவிவரம் அமைப்பதைத் தொடர, சாதனத்தை மறையாக்க வேண்டும். அதற்குச் சிறிது நேரம் ஆகலாம்."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"ரத்துசெய்"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"மறையாக்கு"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"குறியாக்கம் முடிந்தது"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"உங்கள் பணி சுயவிவரத்தை அமைப்பதைத் தொடரத் தொடவும்"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"பணி சுயவிவரத்தை அமைக்க முடியவில்லை. IT துறையைத் தொடர்புகொள்ளவும் அல்லது பிறகு முயலவும்."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"பணி சுயவிவரங்களைச் சாதனம் ஆதரிக்காது"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"பணி சுயவிவரங்களைச் சாதன உரிமையாளர் தான் அமைக்க வேண்டும்"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"இந்தத் துவக்கி பயன்பாடு, பணி சுயவிவரத்தை ஆதரிக்கவில்லை. பொருந்தும் துவக்கிக்கு மாற்ற வேண்டும்."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"ரத்துசெய்"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"சரி"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"பணியிடச் சாதனத்தின் பயனர்"</string>
+    <string name="setup_device" msgid="6725265673245816366">"சாதனத்தை அமை"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"அமைவு தரவைச் செயல்படுத்துகிறது..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"வைஃபை உடன் இணைக்கிறது..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"நிர்வாகப் பயன்பாட்டை இறக்குகிறது..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"நிர்வாகப் பயன்பாட்டை நிறுவுகிறது..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"சாதன உரிமையாளரை அமைக்கிறது..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"அமைப்பதை நிறுத்தவா?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"அமைவை நிறுத்தி, சாதன தரவை அழிக்கவா?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"ரத்துசெய்"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"சரி"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"மீட்டமை"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"சாதனத்தை அமைக்க முடியவில்லை. IT துறையைத் தொடர்புகொள்ளவும்."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"சாதனம் ஏற்கனவே அமைக்கப்பட்டுள்ளது"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"வைஃபை உடன் இணைக்க முடியவில்லை"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"செக்-சம் பிழைக் காரணமாக நிர்வாகப் பயன்பாட்டைப் பயன்படுத்த முடியவில்லை. IT துறையைத் தொடர்புகொள்ளவும்."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"நிர்வாகிப் பயன்பாட்டை இறக்க முடியவில்லை"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"நிர்வாகப் பயன்பாட்டைப் பயன்படுத்த முடியவில்லை. இதில் கூறுகள் இல்லாமல் இருக்கலாம் அல்லது இது சேதமடைந்து இருக்கலாம். IT துறையைத் தொடர்புகொள்ளவும்."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"நிர்வாகிப் பயன்பாட்டை நிறுவ முடியவில்லை"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"சாதனத்தில் நிர்வாகிப் பயன்பாடு நிறுவப்படவில்லை"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"அமைப்பதை நிறுத்தவா?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"அமைப்பதை நிச்சயமாக நிறுத்தவா?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"வேண்டாம்"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"ஆம்"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"ரத்துசெய்கிறது..."</string>
+</resources>
diff --git a/res/values-te-rIN/strings.xml b/res/values-te-rIN/strings.xml
new file mode 100644
index 0000000..45ef848
--- /dev/null
+++ b/res/values-te-rIN/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"పరికర కేటాయింపుదారు"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"అయ్యో!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"మీ ప్రొఫైల్‌ను సెటప్ చేయండి"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"మీ సంస్థ ఈ ప్రొఫైల్‌ను నియంత్రిస్తుంది మరియు దాన్ని సురక్షితంగా ఉంచుతుంది. మీరు మీ పరికరంలో మిగిలిన అన్నింటిని నియంత్రిస్తారు."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"క్రింది అనువర్తనం ఈ ప్రొఫైల్‌ను ప్రాప్యత చేయాలి:"</string>
+    <string name="set_up" msgid="7012862095553564169">"సెటప్ చేయి"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"మీ కార్యాలయ ప్రొఫైల్‌ను సెటప్ చేస్తోంది..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"మీ నిర్వాహకుడు నెట్‌వర్క్ కార్యాచరణ మరియు మీ పరికర స్థాన సమాచారంతో సహా సెట్టింగ్‌లు, కార్పొరేట్ ప్రాప్యత, అనువర్తనాలు మరియు ప్రొఫైల్‌తో అనుబంధించబడిన డేటాని పర్యవేక్షించగల మరియు నిర్వహించగల సామర్థ్యాన్ని కలిగి ఉన్నారు."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"మీ నిర్వాహకుడు నెట్‌వర్క్ కార్యాచరణ మరియు మీ పరికర స్థాన సమాచారంతో సహా సెట్టింగ్‌లు, కార్పొరేట్ ప్రాప్యత, అనువర్తనాలు మరియు ఈ పరికరంతో అనుబంధించబడిన డేటాని పర్యవేక్షించగల మరియు నిర్వహించగల సామర్థ్యాన్ని కలిగి ఉన్నారు."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"మీ సంస్థ గోప్యతా విధానాలతో సహా, మరింత సమాచారం కోసం మీ నిర్వాహకుడిని సంప్రదించండి."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"మరింత తెలుసుకోండి"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"రద్దు చేయి"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"సరే"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"కార్యాలయ ప్రొఫైల్‌"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"మీరు ఇప్పటికే మీ పరికరంలో కార్యాలయ ప్రొఫైల్‌ను కలిగి ఉన్నారు. మీరు దాన్ని తీసివేయాలనుకుంటున్నారా?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"మీరు ఖచ్చితంగా ఈ కార్యాలయ ప్రొఫైల్‌ను తీసివేయాలనుకుంటున్నారా? అలా చేస్తే దాని డేటా మొత్తం తొలగించబడుతుంది."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"తీసివేయి"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"రద్దు చేయి"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"మీరు మీ కార్యాలయ ప్రొఫైల్‌ని సెటప్ చేయడం కొనసాగించడానికి, మీ పరికరాన్ని గుప్తీకరించాలి. దీనికి కొంత సమయం పట్టవచ్చు."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"రద్దు చేయి"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"గుప్తీకరించు"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"గుప్తీకరణ పూర్తయింది"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"మీ కార్యాలయ ప్రొఫైల్‌ను సెటప్ చేయడాన్ని కొనసాగించడానికి తాకండి"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"మీ కార్యాలయ ప్రొఫైల్‌ను సెటప్ చేయడం సాధ్యపడలేదు. మీ IT విభాగాన్ని సంప్రదించండి లేదా తర్వాత మళ్లీ ప్రయత్నించండి."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"మీ పరికరం కార్యాలయ ప్రొఫైల్‌లకు మద్దతు ఇవ్వదు"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"కార్యాలయ ప్రొఫైల్‌లను పరికరం యజమాని సెటప్ చేయాలి"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"మీ కార్యాలయ ప్రొఫైల్‌కు ఈ లాంచర్ అనువర్తనం మద్దతు ఇవ్వదు. మీరు అనుకూల లాంచర్‌కు మారాలి."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"రద్దు చేయి"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"సరే"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"కార్యాలయ పరికర వినియోగదారు"</string>
+    <string name="setup_device" msgid="6725265673245816366">"మీ పరికరాన్ని సెటప్ చేయండి"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"సెటప్ డేటాను ప్రాసెస్ చేస్తోంది..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Wi-Fiకి కనెక్ట్ చేస్తోంది..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"నిర్వాహక అనువర్తనాన్ని డౌన్‌లోడ్ చేస్తోంది..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"నిర్వాహక అనువర్తనం ఇన్‌స్టాల్ చేస్తోంది..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"పరికర యజమానిని సెట్ చేస్తోంది..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"సెటప్ చేయడం ఆపివేయాలా?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"మీరు ఖచ్చితంగా మీ పరికరాన్ని సెట్ చేయడం ఆపివేసి, అందులోని డేటాని తీసివేయాలనుకుంటున్నారా?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"రద్దు చేయి"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"సరే"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"రీసెట్ చేయి"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"మీ పరికరాన్ని సెటప్ చేయడం సాధ్యపడలేదు. మీ IT విభాగాన్ని సంప్రదించండి."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"ఈ పరికరం ఇప్పటికే సెటప్ చేయబడింది"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fiకి కనెక్ట్ చేయడం సాధ్యపడలేదు"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"చెక్‌సమ్ లోపం కారణంగా నిర్వాహక అనువర్తనాన్ని ఉపయోగించడం సాధ్యపడలేదు. మీ IT విభాగాన్ని సంప్రదించండి."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"నిర్వాహక అనువర్తనాన్ని డౌన్‌లోడ్ చేయడం సాధ్యపడలేదు"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"నిర్వాహక అనువర్తనాన్ని ఉపయోగించడం సాధ్యపడదు. ఇందులో కొన్ని భాగాలు లేవు లేదా పాడైంది. మీ IT విభాగాన్ని సంప్రదించండి."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"నిర్వాహక అనువర్తనాన్ని ఇన్‌స్టాల్ చేయడం సాధ్యపడలేదు"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"మీ పరికరంలో నిర్వాహక అనువర్తనం ఇన్‌స్టాల్ చేయబడలేదు"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"సెటప్ చేయడం ఆపివేయాలా?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"మీరు ఖచ్చితంగా సెటప్ చేయడాన్ని ఆపివేయాలనుకుంటున్నారా?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"కాదు"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"అవును"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"రద్దు చేస్తోంది..."</string>
+</resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
new file mode 100644
index 0000000..57e4676
--- /dev/null
+++ b/res/values-th/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"ผู้จัดสรรอุปกรณ์"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"อ๊ะ!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"ตั้งค่าโปรไฟล์ของคุณ"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"องค์กรของคุณควบคุมและรักษาความปลอดภัยให้กับโปรไฟล์นี้ คุณเป็นผู้ควบคุมส่วนที่เหลือในอุปกรณ์"</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"แอปต่อไปนี้ต้องการเข้าถึงโปรไฟล์นี้:"</string>
+    <string name="set_up" msgid="7012862095553564169">"ตั้งค่า"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"กำลังตั้งค่าโปรไฟล์งานของคุณ..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"ผูัดูแลระบบของคุณสามารถตรวจสอบและจัดการการตั้งค่า การเข้าถึงของบริษัท แอป และข้อมูลที่เชื่อมโยงกับโปรไฟล์ ซึ่งรวมถึงกิจกรรมเครือข่ายและข้อมูลตำแหน่งของอุปกรณ์ด้วย"</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"ผู้ดูแลระบบของคุณสามารถตรวจสอบและจัดการการตั้งค่า การเข้าถึงของบริษัท แอป และข้อมูลที่เชื่อมโยงกับอุปกรณ์นี้ รวมถึงกิจกรรมเครือข่ายและข้อมูลตำแหน่งของอุปกรณ์ด้วย"</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"ติดต่อผู้ดูแลระบบสำหรับข้อมูลเพิ่มเติม รวมถึงนโยบายส่วนบุคคลขององค์กร"</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"เรียนรู้เพิ่มเติม"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"ยกเลิก"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"ตกลง"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"โปรไฟล์งาน"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"คุณมีโปรไฟล์งานบนอุปกรณ์อยู่แล้ว คุณต้องการจะนำออกไหม"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"คุณแน่ใจไหมว่าต้องการนำโปรไฟล์งานนี้ออก ระบบจะลบข้อมูลทั้งหมดของโปรไฟล์นี้"</string>
+    <string name="delete_profile" msgid="7107020982626129151">"นำออก"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"ยกเลิก"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"หากต้องการตั้งค่าโปรไฟล์งานต่อ คุณต้องเข้ารหัสอุปกรณ์ ซึ่งอาจใช้เวลาสักครู่หนึ่ง"</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"ยกเลิก"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"เข้ารหัส"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"การเข้ารหัสเสร็จสมบูรณ์แล้ว"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"แตะเพื่อตั้งค่าโปรไฟล์งานต่อ"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"ไม่สามารถตั้งค่าโปรไฟล์งานของคุณได้ โปรดติดต่อฝ่ายไอทีหรือลองอีกครั้งในภายหลัง"</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"อุปกรณ์ของคุณไม่สนับสนุนโปรไฟล์งาน"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"โปรไฟล์งานต้องได้รับการตั้งค่าโดยเจ้าของอุปกรณ์"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"แอป Launcher นี้ไม่สนับสนุนโปรไฟล์งานของคุณ คุณจะต้องเปลี่ยนเป็น Launcher ที่เข้ากันได้"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"ยกเลิก"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"ตกลง"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"ผู้ใช้อุปกรณ์ในการทำงาน"</string>
+    <string name="setup_device" msgid="6725265673245816366">"ตั้งค่าอุปกรณ์"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"กำลังดำเนินการกับข้อมูลการตั้งค่า..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"กำลังเชื่อมต่อ Wi-Fi..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"กำลังดาวน์โหลดแอปผู้ดูแลระบบ..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"กำลังติดตั้งแอปผู้ดูแลระบบ..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"กำลังตั้งค่าเจ้าของอุปกรณ์..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"หยุดการตั้งค่าใช่ไหม"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"คุณแน่ใจไหมว่าต้องการหยุดการตั้งค่าและลบข้อมูลอุปกรณ์"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"ยกเลิก"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"ตกลง"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"รีเซ็ต"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"ไม่สามารถตั้งค่าอุปกรณ์ของคุณ โปรดติดต่อฝ่ายไอที"</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"อุปกรณ์นี้ตั้งค่าไว้แล้ว"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"ไม่สามารถเชื่อมต่อ Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"ไม่สามารถใช้แอปผู้ดูแลระบบได้เนื่องจากมีข้อผิดพลาดเกี่ยวกับ checksum โปรดติดต่อฝ่ายไอทีของคุณ"</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"ไม่สามารถดาวน์โหลดแอปผู้ดูแลระบบได้"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"ไม่สามารถใช้แอปผู้ดูแลระบบได้เนื่องจากขาดองค์ประกอบหรือมีข้อขัดข้อง โปรดติดต่อฝ่ายไอทีของคุณ"</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"ไม่สามารถติดตั้งแอปผู้ดูแลระบบได้"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"อุปกรณ์ของคุณไม่ได้ติดตั้งแอปผู้ดูแลระบบ"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"หยุดการตั้งค่าใช่ไหม"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"คุณแน่ใจไหมว่าต้องการหยุดการตั้งค่า"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"ไม่"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"ใช่"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"กำลังยกเลิก..."</string>
+</resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
new file mode 100644
index 0000000..947cbcf
--- /dev/null
+++ b/res/values-tl/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Provisioner ng Device"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Oops!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"I-set up ang iyong profile"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Kinokontrol ng iyong organisasyon ang profile na ito at pinapanatili itong secure. Ikaw ang kumokontrol sa lahat ng iba pa sa iyong device."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Kakailanganin ng sumusunod na app na i-access ang profile na ito:"</string>
+    <string name="set_up" msgid="7012862095553564169">"I-set up"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Sine-set up ang iyong profile sa trabaho..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"May kakayahan ang iyong administrator na subaybayan at pamahalaan ang mga setting, pangkumpanyang access, mga app at data na nauugnay sa profile, kabilang na ang aktibidad ng network at impormasyon ng lokasyon ng iyong device."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Mayroong kakayahan ang iyong administrator na subaybayan at pamahalaan ang mga setting, corporate na access, app at data na nauugnay sa device na ito, kasama na ang gawain sa network at impormasyon ng lokasyon ng iyong device."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Makipag-ugnayan sa iyong administrator para sa higit pang impormasyon, kasama na ang mga patakaran sa privacy ng iyong organisasyon."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Matuto nang higit pa"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Kanselahin"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"OK"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Profile sa trabaho"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Mayroon ka nang profile sa trabaho sa iyong device. Gusto mo ba itong alisin?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Sigurado ka bang gusto mong alisin ang profile sa trabaho na ito? Ide-delete ang lahat ng data nito."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Alisin"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Kanselahin"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Upang patuloy na ma-set up ang iyong profile sa trabaho, kakailanganin mong i-encrypt ang iyong device. Maaari itong magtagal nang ilang sandali."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Kanselahin"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"I-encrypt"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Tapos na ang pag-encrypt"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Pindutin upang ipagpatuloy ang pagse-set up sa iyong profile sa trabaho"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Hindi ma-set up ang iyong profile sa trabaho. Makipag-ugnayan sa iyong IT department o subukang muli sa ibang pagkakataon."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Hindi sinusuportahan ng iyong device ang mga profile sa trabaho"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Kailangang i-set up ng may-ari ng device ang mga profile sa trabaho"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Ang iyong profile sa trabaho ay hindi sinusuportahan ng launcher app na ito. Kakailanganin mong lumipat sa isang launcher na tugma dito."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Kanselahin"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Ok"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"User ng device sa trabaho"</string>
+    <string name="setup_device" msgid="6725265673245816366">"I-set up ang iyong device"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Pinoproseso ang data ng pag-setup..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Kumokonekta sa Wi-Fi..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"Dina-download ang admin app..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"Ini-install ang admin app..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Itinatakda ang may-ari ng device..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Ihinto ang pagse-set up?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Sigurado ka bang gusto mong ihinto ang pagse-set up at burahin ang data ng iyong device?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Kanselahin"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"OK"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"I-reset"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Hindi ma-set up ang iyong device. Makipag-ugnayan sa iyong IT department."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Naka-set up na ang device na ito"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Hindi makakonekta sa Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Hindi magamit ang admin app dahil sa isang checksum error. Makipag-ugnayan sa iyong IT department."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Hindi ma-download ang admin app"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Hindi magamit ang admin app. May mga kulang itong bahagi o sira ito. Makipag-ugnayan sa iyong IT department."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Hindi ma-install ang admin app"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Hindi naka-install ang admin app sa iyong device"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Ihinto ang pagse-set up?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Sigurado ka bang gusto mong ihinto ang pagse-set up?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Hindi"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Oo"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Kinakansela..."</string>
+</resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
new file mode 100644
index 0000000..b9368c4
--- /dev/null
+++ b/res/values-tr/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Cihaz Temel Hazırlık Aracı"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Hata!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Profilinizi oluşturun"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Kuruluşunuz bu profili kontrol eder ve güvenliğini sağlar. Cihazınızdaki geri kalan her şey sizin kontrolünüzdedir."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Aşağıdaki uygulamanın bu profile erişmesi gerekecek:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Oluştur"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"İş profiliniz ayarlanıyor..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Yöneticiniz; ayarları, kurumsal erişimi, uygulamaları ve profille ilişkilendirilen ağ etkinliği ile cihazınızın konum bilgileri gibi verileri izleme ve yönetme olanağına sahiptir."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Yöneticiniz; ayarları, kurumsal erişimi, uygulamaları ve bu cihazla ilişkilendirilen ağ etkinliği ve cihazınızın konum bilgileri gibi verileri izleme ve yönetme olanağına sahiptir."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Kuruluşunuzun gizlilik politikaları da dahil olmak üzere, daha fazla bilgi için yöneticinize başvurun."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Daha fazla bilgi edinin"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"İptal"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"Tamam"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"İş profili"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Cihazınızda zaten bir iş profiliniz var. Mevcut profili kaldırmak istiyor musunuz?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Bu iş profilini kaldırmak istediğinizden emin misiniz? Profilin tüm verileri silinecektir."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Kaldır"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"İptal"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"İş profilinizin kurulum işlemlerine devam etmek için cihazınızı şifrelemelisiniz. Bu işlem biraz zaman alabilir."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"İptal"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Şifrele"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Şifreleme tamamlandı"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"İş profilinizi ayarlamaya devam etmek için dokunun."</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"İş profiliniz ayarlanamadı. BT bölümünüze başvurun veya daha sonra tekrar deneyin."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Cihazınız iş profillerini desteklemiyor"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"İş profillerinin cihaz sahibi tarafından ayarlanması gerekir"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"İş profiliniz bu başlatıcı uygulama tarafından desteklenmiyor. Uyumlu bir başlatıcı uygulamaya geçmeniz gerekecek."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"İptal"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Tamam"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"İş cihazının kullanıcısı"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Cihazınızı kurma"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Kurulum verileri işleniyor..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Kablosuz ağa bağlanıyor..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"Yönetim uygulaması indiriliyor..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"Yönetim uygulaması yükleniyor..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Cihaz sahibi ayarlanıyor..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Kurulum durdurulsun mu?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Kurulumu durdurmak ve cihazınızın verilerini silmek istediğinizden emin misiniz?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"İptal"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"Tamam"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Sıfırla"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Cihazınızın kurulumu yapılamadı. BT bölümünüze başvurun."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Bu cihaz zaten kurulmuş"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Kablosuz bağlantısı kurulamadı"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Bir sağlama toplamı hatası nedeniyle yönetim uygulaması kullanılamadı. BT bölümünüze başvurun."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Yönetici uygulaması indirilemedi"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Yönetim uygulaması kullanılamıyor. Bileşenleri eksik veya bozuk. BT bölümünüze başvurun."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Yönetici uygulaması yüklenemedi"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Yönetici uygulaması cihazınızda yüklü değil"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Kurulum durdurulsun mu?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Kurulumu durdurmak istediğinizden emin misiniz?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Hayır"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Evet"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"İptal ediliyor..."</string>
+</resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
new file mode 100644
index 0000000..ded0c0d
--- /dev/null
+++ b/res/values-uk/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Адміністратор пристрою"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Помилка"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Налаштування профілю"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Ваша організація контролює й захищає цей профіль. Ви контролюєте все інше на пристрої."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Доcтуп до цього профілю потрібен буде такому додатку:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Налаштувати"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Налаштування робочого профілю…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Адміністратор може відстежувати та контролювати налаштування, корпоративний доступ, додатки й дані, пов’язані з цим профілем, зокрема інформацію про активність у мережі чи місцезнаходження пристрою."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Адміністратор може відстежувати та контролювати налаштування, корпоративний доступ, додатки й дані, пов’язані з цим пристроєм, зокрема інформацію про активність у мережі чи місцезнаходження пристрою."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Зв’яжіться з адміністратором, щоб дізнатися більше, зокрема про політику конфіденційності вашої організації."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Докладніше"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Скасувати"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"ОК"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Робочий профіль"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"На вашому пристрої вже є робочий профіль. Видалити його?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Справді видалити цей робочий профіль? Усі його дані буде видалено."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Видалити"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Скасувати"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Щоб продовжити налаштування робочого профілю, потрібно зашифрувати пристрій. Це може зайняти деякий час."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Скасувати"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Зашифрувати"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Шифрування завершено"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Торкніться, щоб продовжити налаштування робочого профілю"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Не вдалося налаштувати робочий профіль. Зв’яжіться з ІТ-відділом або повторіть спробу пізніше."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Ваш пристрій не підтримує робочі профілі"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Робочі профілі має налаштовувати власник пристрою"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Цей додаток запуску не підтримує ваш робочий профіль. Потрібно вибрати сумісний додаток запуску."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Скасувати"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Користувач робочого пристрою"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Налаштування пристрою"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Обробка даних для налаштування…"</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"З’єднання з Wi-Fi…"</string>
+    <string name="progress_download" msgid="4995057798189799156">"Завантаження додатка адміністратора…"</string>
+    <string name="progress_install" msgid="9169411715762296097">"Встановлення додатка адміністратора…"</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Налаштування власника пристрою…"</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Припинити налаштування?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Припинити налаштування й видалити дані пристрою?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Скасувати"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"ОК"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Скинути"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Не вдалося налаштувати пристрій. Зв’яжіться з ІТ-відділом."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Цей пристрій уже налаштовано"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Не вдалося під’єднатися до мережі Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Не вдалося скористатися додатком адміністратора через помилку перевірки контрольної суми. Зв’яжіться з ІТ-відділом."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Не вдалося завантажити додаток адміністратора"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Неможливо скористатися додатком адміністратора. У ньому немає певних компонентів або його пошкоджено. Зв’яжіться з ІТ-відділом."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Не вдалося встановити додаток адміністратора"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Додаток адміністратора не встановлено на вашому пристрої"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Припинити налаштування?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Справді припинити налаштування?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Ні"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Так"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Скасування…"</string>
+</resources>
diff --git a/res/values-ur-rPK/strings.xml b/res/values-ur-rPK/strings.xml
new file mode 100644
index 0000000..87b2f9b
--- /dev/null
+++ b/res/values-ur-rPK/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"آلہ کا فراہم کنندہ"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"افوہ!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"اپنا پروفائل ترتیب دیں"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"آپ کی تنظیم اس پروفائل کو کنٹرول کرتی ہے اور اسے محفوظ رکھتی ہے۔ آپ اپنے آلہ پر باقی ہر چیز کنٹرول کرتے ہیں۔"</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"مندرجہ ذیل ایپ کو اس پروفائل تک رسائی حاصل کرنے کی ضرورت ہوگی:"</string>
+    <string name="set_up" msgid="7012862095553564169">"ترتیب دیں"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"آپ کا دفتر کا پروفائل ترتیب دیا جا رہا ہے…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"آپ کے منتظم کے پاس نیٹ ورک کی سرگرمی اور آپ کے آلہ کے مقام کی معلومات کے بشمول ترتیبات، کارپوریٹ رسائی، ایپس اور پروفائل کے ساتھ وابستہ ڈیٹا کو مانیٹر کرنے اور ان کا نظم کرنے کی اہلیت ہے۔"</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"آپ کے منتظم کے پاس نیٹ ورک کی سرگرمی اور آپ کے آلہ کے مقام کی معلومات کے بشمول ترتیبات، کارپوریٹ رسائی، ایپس اور اس آلہ کے ساتھ وابستہ ڈیٹا کو مانیٹر کرنے اور ان کا نظم کرنے کی اہلیت ہے۔"</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"اپنی تنظیم کی رازداری کی پالیسیوں سمیت مزید معلومات کیلئے اپنے منتظم سے رابطہ کریں۔"</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"مزید جانیں"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"منسوخ کریں"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"ٹھیک ہے"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"دفتر کا پروفائل"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"آپ کے پاس اپنے آلہ پر پہلے ہی ایک دفتری پروفائل ہے۔ کیا آپ اسے ہٹانا چاہتے ہیں؟"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"کیا آپ واقعی یہ دفتری پروفائل ہٹانا چاہتے ہیں؟ اس کا سبھی ڈیٹا حذف کر دیا جائے گا۔"</string>
+    <string name="delete_profile" msgid="7107020982626129151">"ہٹائیں"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"منسوخ کریں"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"اپنا دفتری پروفائل ترتیب دینا جاری رکھنے کیلئے، آپ کو اپنے آلہ کو مرموز کرنے کی ضرورت ہوگی۔ اس میں کچھ وقت لگ سکتا ہے۔"</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"منسوخ کریں"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"مرموز کاری کریں"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"مرموز کاری مکمل"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"اپنا دفتری پروفائل ترتیب دینا جاری رکھنے کیلئے ٹچ کریں۔"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"‏آپ کے دفتر کے پروفائل کو ترتیب نہیں دیا جا سکا۔ اپنے IT ڈیپارٹمنٹ سے رابطہ کریں یا بعد میں دوبارہ کوشش کریں۔"</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"آپ کا آلہ دفتری پروفائلز کا تعاون نہیں کرتا ہے"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"دفتری پروفائلز کو آلہ کے مالک کے ذریعے ترتیب دیے جانے کی ضرورت ہے"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"آپ کا دفتری پروفائل اس لانچر ایپ کے ذریعے تعاون یافتہ نہیں ہے۔ آپ کو ایک مطابقت پذیر لانچر پر سوئچ کرنے کی ضرورت ہوگی۔"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"منسوخ کریں"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"ٹھیک ہے"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"کام کے آلہ کا صارف"</string>
+    <string name="setup_device" msgid="6725265673245816366">"اپنے آلہ کو ترتیب دیں"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"سیٹ اپ ڈیٹا پر کارروائی کی جا رہی ہے…"</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"‏Wi-Fi سے منسلک ہو رہا ہے…"</string>
+    <string name="progress_download" msgid="4995057798189799156">"منتظم کی ایپ ڈاؤن لوڈ ہو رہی ہے…"</string>
+    <string name="progress_install" msgid="9169411715762296097">"منتظم کی ایپ انسٹال ہو رہی ہے…"</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"آلہ کے مالک کو ترتیب دی جا رہی ہے…"</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"ترتیب دینا بند کریں؟"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"کیا آپ واقعی ترتیب دینے سے روکنا اور اپنے آلہ کے ڈیٹا کو صاف کرنا چاہتے ہیں؟"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"منسوخ کریں"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"ٹھیک ہے"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"دوبارہ ترتیب دیں"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"‏آپ کے آلہ کو ترتیب نہیں دیا جا سکا۔ اپنے IT ڈیپارٹمنٹ سے رابطہ کریں۔"</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"یہ آلہ پہلے ہی ترتیب دے دیا گیا ہے"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"‏Wi-Fi سے منسلک نہیں کیا جا سکا"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"‏checksum کی خرابی کی وجہ سے منتظم کی ایپ کا استعمال نہیں کیا جا سکا۔ اپنے IT ڈیپارٹمنٹ سے رابطہ کریں۔"</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"منتظم کی ایپ کو ڈاؤن لوڈ نہیں کیا جا سکا"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"‏منتظم کی ایپ کا استعمال نہیں کر سکتے۔ اس میں چھوٹے ہوئے اجزاء ہیں یا یہ خراب ہوگئی ہے۔ اپنے IT ڈیپارٹمنٹ سے رابطہ کریں۔"</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"منتظم کی ایپ کو انسٹال نہیں کیا جا سکا"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"منتظم کی ایپ آپ کے آلہ پر انسٹال نہیں ہے"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"ترتیب دینا بند کریں؟"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"کیا آپ واقعی ترتیب دینا بند کرنا چاہتے ہیں؟"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"نہیں"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"ہاں"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"منسوخ کیا جا رہا ہے…"</string>
+</resources>
diff --git a/res/values-uz-rUZ/strings.xml b/res/values-uz-rUZ/strings.xml
new file mode 100644
index 0000000..679b3cf
--- /dev/null
+++ b/res/values-uz-rUZ/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Qurilma administratori"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Ana, xolos!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Profilni sozlash"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Tashkilotingiz ushbu profilni nazorat qiladi va uni xavfsiz saqlaydi. Qurilmangizdagi boshqa narsalarni o‘zingiz nazorat qilasiz."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Quyidagi ilova ushbu profilga kirishi zarur:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Sozlash"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Ishchi profilingiz sozlanmoqda…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Administratoringiz profil bilan bog‘liq sozlamalar, korporativ kirish huquqi, ilovalar va ma’lumotlarni, jumladan, tarmoqdagi faollik va qurilmangizning joylashuvi haqidagi ma’lumotlarni kuzatishi va boshqarishi mumkin."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Administratoringiz ushbu qurilma bilan bog‘liq sozlamalar, korporativ kirish huquqi, ilova va ma’lumotlarni, jumladan, tarmoqdagi faollik va qurilmangizning joylashuvi haqidagi ma’lumotlarni kuzatishi va boshqarishi mumkin."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Qo‘shimcha ma’lumot olish, jumladan, tashkilotingizning maxfiylik siyosati haqida bilish uchun administratoringizga murojaat qiling."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Batafsil ma’lumot"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Bekor qilish"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"OK"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Ishchi profil"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Qurilmangizda allaqachon ishchi profil mavjud. Uni o‘chirib tashlashni xohlaysizmi?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Haqiqatan ham ushbu ishchi profilni o‘chirib tashlamoqchimisiz? Undagi barcha ma’lumotlar ham o‘chib ketadi."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"O‘chirish"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Bekor qilish"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Sozlashni davom ettirish uchun qurilmangizni shifrlash lozim. Bu biroz vaqt olishi mumkin."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Bekor qilish"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Shifrlash"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Shifrlash tugallandi"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Ishchi profilingizni sozlashda davom etish uchun bosing"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Ishchi profilingizni sozlab bo‘lmadi. IT bo‘limiga murojaat qiling yoki keyinroq qayta urinib ko‘ring."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Qurilmangiz ishchi profillarni qo‘llab-quvvatlamaydi"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Ishchi profillar qurilma egasi tomonidan sozlanishi lozim"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Ishchi profilingiz ushbu launcher ilovasi tomonidan qo‘llab-quvvatlanmaydi. Mos launcher rejimiga o‘tishingiz lozim."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Bekor qilish"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Ishchi qurilma foydalanuvchisi"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Qurilmangizni sozlash"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Sozlash ma’lumotlari qayta ishlanmoqda…"</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Wi-Fi tarmog‘iga ulanmoqda…"</string>
+    <string name="progress_download" msgid="4995057798189799156">"Administrator ilovasi yuklab olinmoqda…"</string>
+    <string name="progress_install" msgid="9169411715762296097">"Administrator ilovasi o‘rnatilmoqda…"</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Qurilma egasi belgilanmoqda…"</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Sozlash to‘xtatilsinmi?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Haqiqatan ham sozlashni to‘xtatib, qurilmangiz ma’lumotlarini o‘chirib tashlamoqchimisiz?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Bekor qilish"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"OK"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Qayta tiklash"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Qurilmangizni sozlab bo‘lmadi. Kompaniyangizning IT bo‘limiga murojaat qiling."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Ushbu qurilma allaqachon sozlangan"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Wi-Fi tarmog‘iga ulanib bo‘lmadi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Nazorat qiymati bilan bog‘liq muammo tufayli administrator ilovasidan foydalanib bo‘lmadi. IT bo‘limiga murojaat qiling."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Administrator ilovasini yuklab olib bo‘lmadi"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Administrator ilovasidan foydalanib bo‘lmaydi. Unda ba’zi tarkibiy qismlar mavjud emas yoki buzilgan. IT bo‘limiga murojaat qiling."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Administrator ilovasini o‘rnatib bo‘lmadi"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Qurilmangizga administrator ilovasi o‘rnatilmadi"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Sozlash to‘xtatilsinmi?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Haqiqatan ham sozlashni to‘xtatmoqchimisiz?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Yo‘q"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Ha"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Bekor qilinmoqda…"</string>
+</resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
new file mode 100644
index 0000000..34ae373
--- /dev/null
+++ b/res/values-vi/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Nhà cấp phép thiết bị"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Rất tiếc!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Thiết lập hồ sơ của bạn"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Tổ chức của bạn kiểm soát và giữ bảo mật hồ sơ này. Bạn kiểm soát mọi thứ khác trên thiết bị của mình."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Ứng dụng sau cần quyền truy cập vào hồ sơ này:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Thiết lập"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Đang thiết lập hồ sơ công việc..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Quản trị viên của bạn có thể giám sát và quản lý các cài đặt, quyền truy cập của công ty, các ứng dụng và dữ liệu được liên kết với hồ sơ này, bao gồm cả hoạt động mạng và thông tin vị trí của thiết bị."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Quản trị viên của bạn có thể giám sát và quản lý cài đặt, quyền truy cập của công ty, ứng dụng và dữ liệu liên kết với thiết bị này, bao gồm hoạt động mạng và thông tin về vị trí của thiết bị."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Hãy liên hệ với quản trị viên của bạn để biết thêm thông tin, bao gồm các chính sách bảo mật của tổ chức bạn."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Tìm hiểu thêm"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Hủy"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"OK"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Hồ sơ công việc"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Bạn đã có hồ sơ công việc trên thiết bị của mình. Bạn có muốn xóa hồ sơ đó không?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Bạn có chắc chắn muốn xóa hồ sơ công việc này không? Tất cả dữ liệu trong hồ sơ sẽ bị xóa."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Xóa"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Hủy"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Để tiếp tục thiết lập hồ sơ công việc, bạn cần mã hóa thiết bị của mình. Quá trình này có thể mất vài phút."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Hủy"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Mã hóa"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Hoàn tất mã hóa"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Chạm để tiếp tục thiết lập hồ sơ công việc của bạn"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Không thiết lập được hồ sơ công việc của bạn. Hãy liên hệ với bộ phận CNTT hoặc thử lại sau."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Thiết bị của bạn không hỗ trợ hồ sơ công việc"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Hồ sơ công việc phải do chủ sở hữu thiết bị thiết lập"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Hồ sơ công việc của bạn không được ứng dụng trình chạy này hỗ trợ. Bạn cần chuyển sang trình chạy tương thích."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Hủy"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Ok"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Người dùng thiết bị cơ quan"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Thiết lập thiết bị của bạn"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Đang xử lý dữ liệu thiết lập..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Đang kết nối Wi-Fi..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"Đang tải xuống ứng dụng quản trị..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"Đang cài đặt ứng dụng quản trị..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Đang đặt chủ sở hữu thiết bị..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Dừng thiết lập?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Bạn có chắc chắn muốn dừng thiết lập và xóa dữ liệu trên thiết bị của mình không?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Hủy"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"OK"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Đặt lại"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Không thiết lập được thiết bị của bạn. Hãy liên hệ với bộ phận CNTT."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Thiết bị này đã được thiết lập"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Không thể kết nối với Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Không sử dụng được ứng dụng quản trị do có lỗi kiểm tra tổng. Hãy liên hệ với bộ phận CNTT."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Không thể tải xuống ứng dụng quản trị"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Không thể sử dụng ứng dụng quản trị. Ứng dụng thiếu thành phần hoặc bị lỗi. Hãy liên hệ với bộ phận CNTT."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Không thể cài đặt ứng dụng quản trị"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Ứng dụng quản trị chưa được cài đặt trên thiết bị của bạn"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Dừng thiết lập?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Bạn có chắc chắn muốn dừng thiết lập không?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Không"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Có"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Đang hủy..."</string>
+</resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
new file mode 100644
index 0000000..4446e92
--- /dev/null
+++ b/res/values-zh-rCN/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"设备配置器"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"糟糕，出错了！"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"设置您的资料"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"您的单位可控制此资料，并确保其安全性。您可以控制设备上的所有其他内容。"</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"以下应用需要此资料的访问权限："</string>
+    <string name="set_up" msgid="7012862095553564169">"设置"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"正在设置您的工作资料…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"您单位的管理员能够监控和管理与此资料相关的设置、企业权限、应用以及数据（其中包括网络活动和您设备的位置信息）。"</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"您单位的管理员能够监控和管理与此设备相关的设置、企业权限、应用以及数据（其中包括网络活动和您设备的位置信息）。"</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"请与您单位的管理员联系以了解详情，包括单位的隐私权政策。"</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"了解详情"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"取消"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"确定"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"工作资料"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"您的设备上已设置了一个工作资料。要移除该资料吗？"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"移除此工作资料将会删除此资料中的所有数据。确定要移除吗？"</string>
+    <string name="delete_profile" msgid="7107020982626129151">"移除"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"取消"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"要继续设置工作资料，您需要对设备进行加密。此过程可能需要一段时间。"</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"取消"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"加密"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"加密已完成"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"触摸即可继续设置您的工作资料"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"无法设置您的工作资料，请与您公司的IT部门联系或稍后重试。"</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"您的设备不支持工作资料"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"工作资料需由相应设备的所有者设置"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"此启动器应用不支持工作资料。您需要改用兼容的启动器。"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"取消"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"确定"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"工作设备的用户"</string>
+    <string name="setup_device" msgid="6725265673245816366">"设置您的设备"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"正在处理设置数据…"</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"正在连接到WLAN网络…"</string>
+    <string name="progress_download" msgid="4995057798189799156">"正在下载管理应用…"</string>
+    <string name="progress_install" msgid="9169411715762296097">"正在安装管理应用…"</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"正在设置设备所有者…"</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"要停止设置吗？"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"确定要停止设置并清除您设备的数据吗？"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"取消"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"确定"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"重置"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"无法设置您的设备，请与您公司的IT部门联系。"</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"之前已对此设备进行了设置"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"无法连接到WLAN"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"由于校验和错误，无法使用此管理应用。请与您公司的IT部门联系。"</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"无法下载管理应用"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"由于缺少组件或软件包已损坏，无法使用此管理应用。请与您公司的IT部门联系。"</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"无法安装管理应用"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"在您的设备上安装管理应用失败"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"要停止设置吗？"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"确定要停止设置吗？"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"否"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"是"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"正在取消…"</string>
+</resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
new file mode 100644
index 0000000..55d64f4
--- /dev/null
+++ b/res/values-zh-rHK/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"裝置佈建程式"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"糟糕！"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"設定您的設定檔"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"貴機構可控制這個設定檔並確保其安全；裝置上的其他所有內容則由您自行管理。"</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"下列應用程式需要存取這個設定檔："</string>
+    <string name="set_up" msgid="7012862095553564169">"設定"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"正在設定您的公司檔案…"</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"貴機構管理員可以監控及管理與這個設定檔相關聯的設定、公司系統權限、應用程式和資料，包括網絡活動和您的裝置位置資料。"</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"貴機構管理員可以監控及管理與這部裝置相關聯的設定、公司系統存取權、應用程式和資料，包括網絡活動和您的裝置位置資料。"</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"如需詳細資訊，包括貴機構的私隱權政策，請與您的管理員聯絡。"</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"瞭解詳情"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"取消"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"確定"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"公司檔案"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"您的裝置已經設有一個公司檔案，您要移除嗎？"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"您確定要移除這個公司檔案嗎？其中的所有資料都會因此被刪除。"</string>
+    <string name="delete_profile" msgid="7107020982626129151">"移除"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"取消"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"要繼續設定公司檔案，您必須為裝置加密。這項操作可能需要一段時間才能完成。"</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"取消"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"加密"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"加密完成"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"輕觸即可繼續設定您的公司檔案"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"無法設定您的公司檔案，請與您的 IT 部門聯絡或稍後再試。"</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"您的裝置不支援公司檔案"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"公司檔案必須由裝置擁有者設定"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"這個應用程式啟動器不支援您的公司檔案，請切換至相容的應用程式啟動器。"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"取消"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"確定"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"工作裝置的使用者"</string>
+    <string name="setup_device" msgid="6725265673245816366">"設定您的裝置"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"正在處理設定資料…"</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"正在連線至 Wi-Fi…"</string>
+    <string name="progress_download" msgid="4995057798189799156">"正在下載管理員應用程式…"</string>
+    <string name="progress_install" msgid="9169411715762296097">"正在安裝管理員應用程式…"</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"正在設定裝置擁有者…"</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"要停止設定嗎？"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"您確定要停止設定並清除裝置的資料嗎？"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"取消"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"確定"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"重設"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"無法設定您的裝置，請與您的 IT 部門聯絡。"</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"裝置已完成設定"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"無法連線至 Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"管理員應用程式因校驗和錯誤而無法使用，請與您的 IT 部門聯絡。"</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"無法下載管理員應用程式"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"管理員應用程式因缺少部分元件或已損毀而無法使用，請與您的 IT 部門聯絡。"</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"無法安裝管理員應用程式"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"您的裝置尚未安裝管理員應用程式"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"要停止設定嗎？"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"您確定要停止設定嗎？"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"否"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"是"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"正在取消…"</string>
+</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
new file mode 100644
index 0000000..53b58c3
--- /dev/null
+++ b/res/values-zh-rTW/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"裝置佈建者"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"糟糕！"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"設定您的設定檔"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"貴機構可控制這個設定檔並確保其安全性，裝置上的其他所有內容則由您自行管理。"</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"下列應用程式需要存取這個設定檔："</string>
+    <string name="set_up" msgid="7012862095553564169">"設定"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"正在設定您的工作設定檔..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"您的管理員可以監控及管理與這個設定檔相關聯的設定、公司系統權限、應用程式和資料，包括網路活動和裝置的位置資訊。"</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"您的管理員可以監控及管理與這個裝置相關聯的設定、公司系統權限、應用程式和資料，包括網路活動和裝置的位置資訊。"</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"如需詳細資訊 (包括貴機構的隱私權政策)，請洽您的管理員。"</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"暸解詳情"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"取消"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"確定"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"工作設定檔"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"您的裝置已經設有一個工作設定檔，您要移除嗎？"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"您確定要移除這個工作設定檔嗎？其中的所有資料都會因此遭到刪除。"</string>
+    <string name="delete_profile" msgid="7107020982626129151">"移除"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"取消"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"您必須為裝置加密才能繼續設定工作設定檔，這項程序需要一段時間。"</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"取消"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"加密"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"加密完成"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"輕觸即可繼續設定您的工作設定檔"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"無法設定您的工作設定檔，請與您的 IT 部門聯絡或稍後再試。"</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"您的裝置不支援工作設定檔"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"工作設定檔必須由裝置擁有者設定"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"這個啟動器應用程式不支援您的工作設定檔，請切換至相容的啟動器。"</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"取消"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"確定"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"工作裝置使用者"</string>
+    <string name="setup_device" msgid="6725265673245816366">"設定您的裝置"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"正在處理設定資料..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"正在連線至 Wi-Fi..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"正在下載管理應用程式..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"正在安裝管理應用程式..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"正在設定裝置擁有者..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"停止設定？"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"您確定要停止設定並清除裝置的資料嗎？"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"取消"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"確定"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"重設"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"無法設定您的裝置，請與您的 IT 部門聯絡。"</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"這個裝置已完成設定"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"無法連線至 Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"因發生總和檢查碼錯誤而無法使用管理應用程式，請與您的 IT 部門聯絡。"</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"無法下載管理應用程式"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"管理應用程式因缺少部分元件或已毀損而無法使用，請與您的 IT 部門聯絡。"</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"無法安裝管理應用程式"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"您的裝置尚未安裝管理應用程式"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"停止設定？"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"您確定要停止設定嗎？"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"否"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"是"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"取消中..."</string>
+</resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
new file mode 100644
index 0000000..f21fc74
--- /dev/null
+++ b/res/values-zu/strings.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="4699090302771328296">"Isinikezeli sedivayisi"</string>
+    <string name="provisioning_error_title" msgid="6320515739861578118">"Hawu!"</string>
+    <string name="setup_work_space" msgid="6539913744903244870">"Setha iphrofayela yakho"</string>
+    <string name="company_controls_workspace" msgid="2808025277267917221">"Inhlangano yakho ilawula le phrofayela iphinde iyigcine ivikelekile. Ulawule konke okunye kudivayisi yakho."</string>
+    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Uhlelo lokusebenza olulandelayo kuzomele lufinyelele kule phrofayela:"</string>
+    <string name="set_up" msgid="7012862095553564169">"Lungisa"</string>
+    <string name="setting_up_workspace" msgid="6116976629983614927">"Isetha iphrofayela yakho yomsebenzi..."</string>
+    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Umlawuli wakho unekhono lokuqapha aphinde aphathe lezi zilungiselelo, ukufinyelela kwezinkampani, izinhlelo zokusebenza nedatha ehlotshaniswa nephrofayela, efaka umsebenzi wenethiwekhi kanye nolwazi lwendawo yedivayisi yakho."</string>
+    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Umqondisi wakho unamandla wokwengamela nokuphatha izilungiselelo, ukufinyelela kwenkampani, izinhlelo zokusebenza, nedatha ephathelene nale divayisi, kufaka phakathi umsebenzi wenethiwekhi nolwazi lwendawo ledivayisi yakho."</string>
+    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Xhumana nomqondisi wakho ngolwazi olubanzi, kufaka phakathi izinqubomgomo zokwemfihlo zenhlangano yakho."</string>
+    <string name="learn_more_link" msgid="3012495805919550043">"Funda kabanzi"</string>
+    <string name="cancel_setup" msgid="2949928239276274745">"Khansela"</string>
+    <string name="ok_setup" msgid="5148111905838329307">"KULUNGILE"</string>
+    <string name="default_managed_profile_name" msgid="5370257687074907055">"Iphrofayela yomsebenzi"</string>
+    <string name="managed_profile_already_present" msgid="888277922880582498">"Usuvele unayo iphrofayela yomsebenzi kudivayisi yakho. Ingabe ufuna ukuyisusa?"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Ingabe uqinisekile ukuthi ufuna ukususa le phrofayela yomsebenzi? Yonke idatha yakhona uzosuswa."</string>
+    <string name="delete_profile" msgid="7107020982626129151">"Susa"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Khansela"</string>
+    <string name="encrypt_device_text" msgid="6762208577171389053">"Ukuze uqhubeke ngokusetha iphrofayela yakho yomsebenzi, uzodinga ukubethela idivayisi yakho. Lokhu kungatha isikhashana."</string>
+    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Khansela"</string>
+    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Bethela"</string>
+    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Ukubethela kuqedile"</string>
+    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Thinta ukuze uqhubeke ngokusetha iphrofayela yakho yomsebenzi"</string>
+    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Ayikwazanga ukusehta iphrofayela yakho yomsebenzi. Xhumana nomnyango wakho we-IT noma zama futhi emuva kwesikhathi."</string>
+    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Idivayisi yakho ayisekeli amaphrofayela womsebenzi"</string>
+    <string name="user_is_not_owner" msgid="4358772243716976929">"Amaphrofayela womsebenzi adinga ukusethwa umnikazi wedivayisi"</string>
+    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Iphrofayela yakho yomsebenzi ayisekelwe yilesi siqalisi sohlelo lokusebenza. Kuzomele uguqulele kusiqalisi esihambisanayo."</string>
+    <string name="cancel_provisioning" msgid="3408069559452653724">"Khansela"</string>
+    <string name="pick_launcher" msgid="4257084827403983845">"Kulungile"</string>
+    <string name="default_owned_device_username" msgid="3915120202811807955">"Umsebenzisi wedivayisi yomsebenzi"</string>
+    <string name="setup_device" msgid="6725265673245816366">"Setha idivayisi yakho"</string>
+    <string name="progress_data_process" msgid="7099462614425874283">"Icubungula idatha yokusetha..."</string>
+    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Ixhuma ku-Wi-Fi..."</string>
+    <string name="progress_download" msgid="4995057798189799156">"Ilanda uhlelo lokusebenza lomqondisi..."</string>
+    <string name="progress_install" msgid="9169411715762296097">"Ifaka uhlelo lokusebenza lomqondisi..."</string>
+    <string name="progress_set_owner" msgid="1292946927202510987">"Isetha umnikazi wedivayisi..."</string>
+    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Misa ukusetha?"</string>
+    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Ingabe uqinisekile ukuthi ufuna ukuyeka ukusetha bese usule idatha yedivayisi yakho?"</string>
+    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Khansela"</string>
+    <string name="device_owner_error_ok" msgid="2556654993515978854">"KULUNGILE"</string>
+    <string name="device_owner_error_reset" msgid="1609782972753569267">"Setha kabusha"</string>
+    <string name="device_owner_error_general" msgid="5962462955470123776">"Ayikwazanga ukusetha idivayisi yakho. Xhumana nomnyango wakho we-IT."</string>
+    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Le divayisi isivele isethiwe"</string>
+    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Ayikwazanga ukuxhuma kwi-Wi-Fi"</string>
+    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Ayikwazanga ukusebenzisa uhlelo lokusebenza lomqondisi ngenxa yephutha lokuhlola. Xhumana ngomnyango wakho we-IT."</string>
+    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Ayikwazanga ukulanda uhlelo lokusebenza lomqondisi"</string>
+    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Ayikwazi ukusebenzisa uhlelo lokusebenza lomqondisi. Xhumana nomnyango wakho we-IT."</string>
+    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Ayikwazanga ukufaka uhlelo lokusebenza lomqondisi"</string>
+    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Uhlelo lokusebenza alufakiwe kudivayisi yakho"</string>
+    <string name="profile_owner_cancel_title" msgid="1087667875324931402">"Misa ukusetha?"</string>
+    <string name="profile_owner_cancel_message" msgid="3397782777804924267">"Ingabe uqinisekile ukuthi ufuna ukumisa ukusetha?"</string>
+    <string name="profile_owner_cancel_cancel" msgid="4408725524311574891">"Cha"</string>
+    <string name="profile_owner_cancel_ok" msgid="5951679183850766029">"Yebo"</string>
+    <string name="profile_owner_cancelling" msgid="2007485854183176973">"Kuyakhanselwa..."</string>
+</resources>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 61ed8ff..1fc1515 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -26,4 +26,5 @@
     <color name="transparent_dark_turquoise">#204db6ac</color>
     <color name="accent">@color/dark_turquoise</color>
     <color name="accent_transparent">@color/transparent_dark_turquoise</color>
+    <color name="transparent">#00000000</color>
 </resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index f6a4317..6764c41 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -21,11 +21,16 @@
     <!-- Main text -->
     <dimen name="main_text_padding_left_right">16dp</dimen>
     <dimen name="main_text_padding_bottom">24dp</dimen>
-    <dimen name="main_text_padding_top">24dp</dimen>
+    <dimen name="main_text_padding_top">0dp</dimen>
+    <dimen name="main_text_padding_between_text">8dp</dimen>
     <dimen name="main_text_margins_left_right">0dp</dimen>
-    <dimen name="main_text_container_padding_top">0dp</dimen>
     <dimen name="main_text_size">16sp</dimen>
 
+    <!-- Dialog Fragment text -->
+    <dimen name="dialog_text_padding_left_right">16dp</dimen>
+    <dimen name="dialog_text_padding_bottom">24dp</dimen>
+    <dimen name="dialog_text_padding_top">24dp</dimen>
+
     <!-- Buttons -->
     <dimen name="button_width">100dp</dimen>
 
@@ -39,6 +44,6 @@
     <dimen name="title_padding">@dimen/main_text_padding_left_right</dimen>
 
     <dimen name="row_height">72dp</dimen>
-    <dimen name="row_padding_top">16dp</dimen>
+    <dimen name="row_padding_top">8dp</dimen>
     <dimen name="icon_width_height">56dp</dimen>
 </resources>
\ No newline at end of file
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 1f83909..3133ef1 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -40,7 +40,9 @@
   <!-- Progress text shown when setting up work profile [CHAR LIMIT=NONE] -->
   <string name="setting_up_workspace">Setting up your work profile...</string>
   <!-- Text in a pop-up that asks the user to confirm that they allow the mobile device management app to take control of the profile they are creating. [CHAR LIMIT=NONE]-->
-  <string name="admin_has_ability_to_monitor">Your administrator has the ability to monitor and manage settings, corporate access, apps and data associated with the profile, including network activity and your device\'s location information.</string>
+  <string name="admin_has_ability_to_monitor_profile">Your administrator has the ability to monitor and manage settings, corporate access, apps and data associated with the profile, including network activity and your device\'s location information.</string>
+  <!-- Text in a pop-up that asks the user to confirm that they allow the mobile device management app to take control of the device. [CHAR LIMIT=NONE]-->
+  <string name="admin_has_ability_to_monitor_device">Your administrator has the ability to monitor and manage settings, corporate access, apps, and data associated with this device, including network activity and your device\'s location information.</string>
   <!-- String telling the user how to get more information about their work profile-->
   <string name="contact_your_admin_for_more_info">Contact your administrator for more information, including your organization\'s privacy policies.</string>
   <!-- Text on the link that will forward the user to a website with more information about work profiles [CHAR LIMIT=30]-->
@@ -119,8 +121,6 @@
   <string name="device_owner_error_general">Couldn\'t set up your device. Contact your IT department. </string>
   <!-- Message of the error dialog when already provisioned. [CHAR LIMIT=NONE] -->
   <string name="device_owner_error_already_provisioned">This device is already set up</string>
-  <!-- Message of the error dialog when already owned. [CHAR LIMIT=NONE] -->
-  <string name="device_owner_error_already_owned">This device already has an owner</string>
   <!-- Message of the error dialog when setting up wifi failed. [CHAR LIMIT=NONE] -->
   <string name="device_owner_error_wifi">Couldn\'t connect to Wi-Fi</string>
   <!-- Message of the error dialog when data integrity check fails. [CHAR LIMIT=NONE] -->
@@ -133,4 +133,14 @@
   <string name="device_owner_error_installation_failed">Couldn\'t install the admin app</string>
   <!-- Message of the error dialog when device admin package is not installed. [CHAR LIMIT=NONE] -->
   <string name="device_owner_error_package_not_installed">The admin app isn\'t installed on your device</string>
+  <!-- Title of the cancel profile owner provisioning dialog. [CHAR LIMIT=45] -->
+  <string name="profile_owner_cancel_title">Stop setting up?</string>
+  <!-- Message of the cancel dialog. [CHAR LIMIT=NONE] -->
+  <string name="profile_owner_cancel_message">Are you sure you want to stop setting up?</string>
+  <!-- Cancel button text of the cancel dialog. [CHAR LIMIT=45] -->
+  <string name="profile_owner_cancel_cancel">No</string>
+  <!-- OK button text of the error dialog. [CHAR LIMIT=45] -->
+  <string name="profile_owner_cancel_ok">Yes</string>
+  <!-- Message of the cancel progress dialog. [CHAR LIMIT=45] -->
+  <string name="profile_owner_cancelling">Cancelling...</string>
 </resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 4b0f29d..fb8a8a8 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -77,7 +77,7 @@
         <item name="android:layout_width">fill_parent</item>
         <item name="android:layout_height">wrap_content</item>
         <item name="android:textColor">@color/text_black</item>
-        <item name="android:paddingTop">@dimen/main_text_padding_top</item>
+        <item name="android:paddingTop">@dimen/main_text_padding_between_text</item>
         <item name="android:textSize">@dimen/main_text_size</item>
     </style>
 
@@ -99,6 +99,16 @@
         <item name="android:textSize">@dimen/main_text_size</item>
     </style>
 
+    <style name="TransparentButton" parent="@android:style/Widget.Material.Light.Button">
+        <item name="android:minWidth">@dimen/button_width</item>
+        <item name="android:layout_width">wrap_content</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:gravity">center</item>
+        <item name="android:textSize">@dimen/main_text_size</item>
+        <item name="android:background">@color/transparent</item>
+        <item name="android:textColorPrimary">@color/colored_button</item>
+    </style>
+
     <style name="MainTextContainer">
         <item name="android:layout_width">fill_parent</item>
         <item name="android:layout_height">fill_parent</item>
@@ -109,10 +119,23 @@
         <item name="android:layout_marginRight">@dimen/main_text_margins_left_right</item>
         <item name="android:paddingLeft">@dimen/main_text_padding_left_right</item>
         <item name="android:paddingRight">@dimen/main_text_padding_left_right</item>
-        <item name="android:paddingTop">@dimen/main_text_container_padding_top</item>
+        <item name="android:paddingTop">@dimen/main_text_padding_top</item>
         <item name="android:textSize">@dimen/main_text_size</item>
     </style>
 
+    <style name="DialogFragmentTextContainer">
+        <item name="android:layout_width">fill_parent</item>
+        <item name="android:layout_height">fill_parent</item>
+        <item name="android:orientation">vertical</item>
+        <item name="android:background">@color/white</item>
+        <item name="android:paddingBottom">@dimen/dialog_text_padding_bottom</item>
+        <item name="android:paddingLeft">@dimen/dialog_text_padding_left_right</item>
+        <item name="android:paddingRight">@dimen/dialog_text_padding_left_right</item>
+        <item name="android:paddingTop">@dimen/dialog_text_padding_top</item>
+        <item name="android:textSize">@dimen/main_text_size</item>
+    </style>
+
+
     <style name="ScrollView" parent="@android:style/Widget.Material.Light.ScrollView">
         <item name="android:theme">@style/ControlOverlayTheme</item>
         <item name="android:layout_width">fill_parent</item>
@@ -122,8 +145,14 @@
     <style name="ProgressBar" parent="@android:Widget.Material.ProgressBar">
         <item name="android:layout_width">match_parent</item>
         <item name="android:layout_height">wrap_content</item>
-        <item name="android:layout_marginTop">@dimen/main_text_padding_top</item>
+        <item name="android:layout_marginTop">@dimen/main_text_padding_between_text</item>
         <item name="android:indeterminate">true</item>
     </style>
 
+    <style name="ManagedProvisioningDialogTheme" parent="@android:style/Theme.Dialog">
+      <item name="android:windowFullscreen">true</item>
+      <item name="android:windowNoTitle">true</item>
+      <item name="android:windowBackground">@android:color/transparent</item>
+    </style>
+
 </resources>
diff --git a/src/com/android/managedprovisioning/BootReminder.java b/src/com/android/managedprovisioning/BootReminder.java
index c0b1e26..85c6511 100644
--- a/src/com/android/managedprovisioning/BootReminder.java
+++ b/src/com/android/managedprovisioning/BootReminder.java
@@ -15,19 +15,17 @@
  */
 package com.android.managedprovisioning;
 
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEFAULT_MANAGED_PROFILE_NAME;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME;
 
 import android.app.Notification;
 import android.app.NotificationManager;
 import android.app.PendingIntent;
-
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
-
 import android.os.Bundle;
 
 /**
@@ -44,8 +42,6 @@
             "profile-owner-provisioning-resume";
 
     private static final String[] PROFILE_OWNER_STRING_EXTRAS = {
-        // Key for the default name of the managed profile
-        EXTRA_PROVISIONING_DEFAULT_MANAGED_PROFILE_NAME,
         // Key for the device admin package name
         EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME
     };
@@ -55,8 +51,13 @@
         EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE
     };
 
+    private static final String[] PROFILE_OWNER_ACCOUNT_EXTRAS = {
+        // Key for the account extras
+        EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE
+    };
+
     private static final ComponentName PROFILE_OWNER_INTENT_TARGET =
-            ManagedProvisioningActivity.ALIAS_NO_CHECK_CALLER;
+            ProfileOwnerPreProvisioningActivity.ALIAS_NO_CHECK_CALLER;
 
     /*
      * Device owner parameters that are stored in the IntentStore for resuming provisioning.
@@ -142,7 +143,8 @@
     private static IntentStore getProfileOwnerIntentStore(Context context) {
         return new IntentStore(context,PROFILE_OWNER_INTENT_TARGET, PROFILE_OWNER_PREFERENCES_NAME)
                 .setStringKeys(PROFILE_OWNER_STRING_EXTRAS)
-                .setPersistableBundleKeys(PROFILE_OWNER_PERSISTABLE_BUNDLE_EXTRAS);
+                .setPersistableBundleKeys(PROFILE_OWNER_PERSISTABLE_BUNDLE_EXTRAS)
+                .setAccountKeys(PROFILE_OWNER_ACCOUNT_EXTRAS);
     }
 
     private static IntentStore getDeviceOwnerIntentStore(Context context) {
@@ -168,7 +170,7 @@
                 .setContentIntent(resumePendingIntent)
                 .setContentTitle(context.getString(R.string.continue_provisioning_notify_title))
                 .setContentText(context.getString(R.string.continue_provisioning_notify_text))
-                .setSmallIcon(com.android.internal.R.drawable.ic_corp_icon)
+                .setSmallIcon(com.android.internal.R.drawable.ic_corp_statusbar_icon)
                 .setVisibility(Notification.VISIBILITY_PUBLIC)
                 .setColor(context.getResources().getColor(
                         com.android.internal.R.color.system_notification_accent_color))
diff --git a/src/com/android/managedprovisioning/CrossProfileIntentFiltersHelper.java b/src/com/android/managedprovisioning/CrossProfileIntentFiltersHelper.java
index 9620423..9912534 100644
--- a/src/com/android/managedprovisioning/CrossProfileIntentFiltersHelper.java
+++ b/src/com/android/managedprovisioning/CrossProfileIntentFiltersHelper.java
@@ -17,14 +17,10 @@
 
 import static android.speech.RecognizerIntent.ACTION_RECOGNIZE_SPEECH;
 
-import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.pm.PackageManager;
-import android.content.pm.UserInfo;
-import android.os.UserHandle;
-import android.os.UserManager;
 import android.provider.MediaStore;
 
 import com.android.managedprovisioning.ProvisionLogger;
@@ -36,32 +32,6 @@
  */
 public class CrossProfileIntentFiltersHelper {
 
-    public static class FiltersReseter extends BroadcastReceiver {
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            if(Intent.ACTION_PRE_BOOT_COMPLETED.equals(intent.getAction())) {
-                int currentUserId = context.getUserId();
-                if (currentUserId == UserHandle.USER_OWNER) {
-                    // Reseting the cross-profile intent filters for the managed profiles who have
-                    // this user as their parent.
-                    UserManager um = (UserManager) context.getSystemService(
-                            Context.USER_SERVICE);
-                    List<UserInfo> profiles = um.getProfiles(currentUserId);
-                    if (profiles.size() > 1) {
-                        PackageManager pm = context.getPackageManager();
-                        pm.clearCrossProfileIntentFilters(currentUserId);
-                        for (UserInfo userInfo : profiles) {
-                            if (userInfo.isManagedProfile() && userInfo.id != currentUserId) {
-                                pm.clearCrossProfileIntentFilters(userInfo.id);
-                                setFilters(pm, currentUserId, userInfo.id);
-                            }
-                        }
-                    }
-                }
-            }
-        }
-    }
-
     public static void setFilters(PackageManager pm, int parentUserId, int managedProfileUserId) {
         ProvisionLogger.logd("Setting cross-profile intent filters");
 
diff --git a/src/com/android/managedprovisioning/DeviceOwnerProvisioningActivity.java b/src/com/android/managedprovisioning/DeviceOwnerProvisioningActivity.java
index c34a5f2..1b12252 100644
--- a/src/com/android/managedprovisioning/DeviceOwnerProvisioningActivity.java
+++ b/src/com/android/managedprovisioning/DeviceOwnerProvisioningActivity.java
@@ -16,14 +16,8 @@
 
 package com.android.managedprovisioning;
 
-import static android.app.admin.DeviceAdminReceiver.ACTION_PROFILE_PROVISIONING_COMPLETE;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_EMAIL_ADDRESS;
-
 import android.app.Activity;
 import android.app.AlertDialog;
-import android.app.Dialog;
-import android.app.admin.DevicePolicyManager;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -31,8 +25,10 @@
 import android.content.IntentFilter;
 import android.os.Bundle;
 import android.os.UserHandle;
+import android.os.SystemProperties;
 import android.provider.Settings.Global;
 import android.provider.Settings.Secure;
+import android.service.persistentdata.PersistentDataBlockManager;
 import android.support.v4.content.LocalBroadcastManager;
 import android.text.TextUtils;
 import android.view.LayoutInflater;
@@ -41,7 +37,7 @@
 
 import com.android.managedprovisioning.task.AddWifiNetworkTask;
 
-import java.util.Locale;
+import java.util.ArrayList;
 
 /**
  * This activity starts device owner provisioning:
@@ -67,43 +63,43 @@
  * repeated. We made sure that all tasks can be done twice without causing any problems.
  * </p>
  */
-public class DeviceOwnerProvisioningActivity extends Activity {
+public class DeviceOwnerProvisioningActivity extends Activity
+        implements UserConsentDialog.ConsentCallback {
+    private static final boolean DEBUG = false; // To control logging.
+
+    private static final String KEY_USER_CONSENTED = "user_consented";
+    private static final String KEY_CANCEL_DIALOG_SHOWN = "cancel_dialog_shown";
+    private static final String KEY_PENDING_INTENTS = "pending_intents";
+
     private static final int ENCRYPT_DEVICE_REQUEST_CODE = 1;
     private static final int WIFI_REQUEST_CODE = 2;
 
     private BroadcastReceiver mServiceMessageReceiver;
     private TextView mProgressTextView;
-    private Dialog mDialog; // The cancel or error dialog that is currently shown.
-    private boolean mDone; // Indicates whether the service has sent ACTION_PROVISIONING_SUCCESS.
 
-    private Runnable mOnWifiConnectedRunnable;
+    // Indicates whether user consented by clicking on positive button of interstitial.
+    private boolean mUserConsented = false;
 
-    private Intent mProvisioningCompleteIntent;
+    // Params that will be used after user consent.
+    // Extracted from the starting intent.
+    private ProvisioningParams mParams;
+
+    // Indicates that the cancel dialog is shown.
+    private boolean mCancelDialogShown = false;
+
+    // List of intents received while cancel dialog is shown.
+    private ArrayList<Intent> mPendingProvisioningIntents = new ArrayList<Intent>();
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+        if (DEBUG) ProvisionLogger.logd("Device owner provisioning activity ONCREATE");
 
-        ProvisionLogger.logd("Device owner provisioning activity ONCREATE");
-
-        // Check whether we can provision.
-        if (Global.getInt(getContentResolver(), Global.DEVICE_PROVISIONED, 0 /* default */) != 0) {
-            ProvisionLogger.loge("Device already provisioned.");
-            error(R.string.device_owner_error_already_provisioned, false /* no factory reset */);
-            return;
-        }
-        DevicePolicyManager dpm = (DevicePolicyManager)
-                getSystemService(Context.DEVICE_POLICY_SERVICE);
-        if (dpm.getDeviceOwner() != null) {
-            ProvisionLogger.loge("Device owner already present.");
-            error(R.string.device_owner_error_already_owned, false /* no factory reset */);
-            return;
-        }
-
-        if (UserHandle.myUserId() != UserHandle.USER_OWNER) {
-            ProvisionLogger.loge("Device owner can only be set up for USER_OWNER.");
-            error(R.string.device_owner_error_general, false /* no factory reset */);
-            return;
+        if (savedInstanceState != null) {
+            mUserConsented = savedInstanceState.getBoolean(KEY_USER_CONSENTED, false);
+            mCancelDialogShown = savedInstanceState.getBoolean(KEY_CANCEL_DIALOG_SHOWN, false);
+            mPendingProvisioningIntents = savedInstanceState
+                    .getParcelableArrayList(KEY_PENDING_INTENTS);
         }
 
         // Setup the UI.
@@ -113,6 +109,26 @@
         mProgressTextView = (TextView) findViewById(R.id.prog_text);
         TextView titleText = (TextView) findViewById(R.id.title);
         if (titleText != null) titleText.setText(getString(R.string.setup_device));
+        if (mCancelDialogShown) showCancelResetDialog();
+
+        // Check whether we can provision.
+        if (Global.getInt(getContentResolver(), Global.DEVICE_PROVISIONED, 0 /* default */) != 0) {
+            ProvisionLogger.loge("Device already provisioned.");
+            error(R.string.device_owner_error_already_provisioned, false /* no factory reset */);
+            return;
+        }
+
+        if (UserHandle.myUserId() != UserHandle.USER_OWNER) {
+            ProvisionLogger.loge("Device owner can only be set up for USER_OWNER.");
+            error(R.string.device_owner_error_general, false /* no factory reset */);
+            return;
+        }
+
+        if (factoryResetProtected()) {
+            ProvisionLogger.loge("Factory reset protection blocks provisioning.");
+            error(R.string.device_owner_error_already_provisioned, false /* no factory reset */);
+            return;
+        }
 
         // Setup broadcast receiver for feedback from service.
         mServiceMessageReceiver = new ServiceMessageReceiver();
@@ -123,10 +139,9 @@
         LocalBroadcastManager.getInstance(this).registerReceiver(mServiceMessageReceiver, filter);
 
         // Parse the incoming intent.
-        final ProvisioningParams params;
         MessageParser parser = new MessageParser();
         try {
-            params = parser.parseIntent(getIntent());
+            mParams = parser.parseIntent(getIntent());
         } catch (MessageParser.ParseException e) {
             ProvisionLogger.loge("Could not read data from intent", e);
             error(e.getErrorMessageId(), false /* no factory reset */);
@@ -134,29 +149,56 @@
         }
 
         // Ask to encrypt the device before proceeding
-        if (!EncryptDeviceActivity.isDeviceEncrypted()) {
-            requestEncryption(parser, params);
+        if (!(EncryptDeviceActivity.isDeviceEncrypted()
+                        || SystemProperties.getBoolean("persist.sys.no_req_encrypt", false))) {
+            requestEncryption(parser, mParams);
             finish();
             return;
             // System will reboot. Bootreminder will restart this activity.
         }
 
         // Have the user pick a wifi network if necessary.
-        if (!AddWifiNetworkTask.isConnectedToWifi(this) && TextUtils.isEmpty(params.mWifiSsid) &&
-                !TextUtils.isEmpty(params.mDeviceAdminPackageDownloadLocation)) {
-
-            mOnWifiConnectedRunnable = new Runnable() {
-                public void run() {
-                    startDeviceOwnerProvisioningService(params);
-                }
-            };
-
+        if (!AddWifiNetworkTask.isConnectedToWifi(this) && TextUtils.isEmpty(mParams.mWifiSsid)) {
             requestWifiPick();
             return;
             // Wait for onActivityResult.
         }
 
-        startDeviceOwnerProvisioningService(params);
+        showInterstitialAndProvision(mParams);
+    }
+
+    private boolean factoryResetProtected() {
+        // Can't refer to type directly here and API is hidden, so
+        // get it via reflection.
+        PersistentDataBlockManager pdbManager = (PersistentDataBlockManager)
+                getSystemService(Context.PERSISTENT_DATA_BLOCK_SERVICE);
+        if (pdbManager == null) {
+            ProvisionLogger.loge("Unable to get persistent data block service");
+            return false;
+        }
+        return pdbManager.getDataBlockSize() > 0;
+    }
+
+    private void showInterstitialAndProvision(final ProvisioningParams params) {
+        if (mUserConsented || params.mStartedByNfc) {
+            startDeviceOwnerProvisioningService(params);
+        } else {
+            // Notify the user that the admin will have full control over the device,
+            // then start provisioning.
+            UserConsentDialog.newInstance(UserConsentDialog.DEVICE_OWNER)
+                    .show(getFragmentManager(), "UserConsentDialogFragment");
+        }
+    }
+
+    @Override
+    public void onDialogConsent() {
+        mUserConsented = true;
+        startDeviceOwnerProvisioningService(mParams);
+    }
+
+    @Override
+    public void onDialogCancel() {
+        finish();
     }
 
     private void startDeviceOwnerProvisioningService(ProvisioningParams params) {
@@ -171,71 +213,53 @@
         @Override
         public void onReceive(Context context, Intent intent)
         {
-            String action = intent.getAction();
-            if (action.equals(DeviceOwnerProvisioningService.ACTION_PROVISIONING_SUCCESS)) {
-                ProvisionLogger.logd("Successfully provisioned");
+            if (mCancelDialogShown) {
 
-                mProvisioningCompleteIntent = getProvisioningCompleteIntent(intent);
-
-                synchronized(this) {
-                    if (mDialog == null) {
-                        onProvisioningSuccess();
-                    } else {
-                        // Postpone finishing this activity till the user has decided whether
-                        // he/she wants to reset or not.
-                        mDone = true;
-                    }
-                }
+                // Postpone handling the intent.
+                mPendingProvisioningIntents.add(intent);
                 return;
-            } else if (action.equals(DeviceOwnerProvisioningService.ACTION_PROVISIONING_ERROR)) {
-                int errorMessageId = intent.getIntExtra(
-                        DeviceOwnerProvisioningService.EXTRA_USER_VISIBLE_ERROR_ID_KEY,
-                        R.string.device_owner_error_general);
+            }
+            handleProvisioningIntent(intent);
+        }
+    }
 
+    private void handleProvisioningIntent(Intent intent) {
+        String action = intent.getAction();
+        if (action.equals(DeviceOwnerProvisioningService.ACTION_PROVISIONING_SUCCESS)) {
+            if (DEBUG) ProvisionLogger.logd("Successfully provisioned");
+            onProvisioningSuccess();
+        } else if (action.equals(DeviceOwnerProvisioningService.ACTION_PROVISIONING_ERROR)) {
+            int errorMessageId = intent.getIntExtra(
+                    DeviceOwnerProvisioningService.EXTRA_USER_VISIBLE_ERROR_ID_KEY,
+                    R.string.device_owner_error_general);
+
+            if (DEBUG) {
                 ProvisionLogger.logd("Error reported with code "
                         + getResources().getString(errorMessageId));
-                error(errorMessageId, true /* always factory reset */);
-            } else if (action.equals(DeviceOwnerProvisioningService.ACTION_PROGRESS_UPDATE)) {
-                int progressMessage = intent.getIntExtra(
-                        DeviceOwnerProvisioningService.EXTRA_PROGRESS_MESSAGE_ID_KEY, -1);
+            }
+            error(errorMessageId, true /* always factory reset */);
+        } else if (action.equals(DeviceOwnerProvisioningService.ACTION_PROGRESS_UPDATE)) {
+            int progressMessage = intent.getIntExtra(
+                    DeviceOwnerProvisioningService.EXTRA_PROGRESS_MESSAGE_ID_KEY, -1);
+            if (DEBUG) {
                 ProvisionLogger.logd("Progress update reported with code "
-                        + getResources().getString(progressMessage));
-                if (progressMessage >= 0) {
-                    progressUpdate(progressMessage);
-                }
+                    + getResources().getString(progressMessage));
+            }
+            if (progressMessage >= 0) {
+                progressUpdate(progressMessage);
             }
         }
     }
 
-    private Intent getProvisioningCompleteIntent(Intent serviceIntent) {
-        ProvisioningParams paramsFromService = (ProvisioningParams) serviceIntent.getExtra(
-                DeviceOwnerProvisioningService.EXTRA_PROVISIONING_PARAMS);
-
-        Intent result = new Intent(ACTION_PROFILE_PROVISIONING_COMPLETE);
-        result.setPackage(paramsFromService.mDeviceAdminPackageName);
-        result.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES |
-                Intent.FLAG_RECEIVER_FOREGROUND);
-        if (paramsFromService.mManagedDeviceEmailAddress != null) {
-            result.putExtra(EXTRA_PROVISIONING_EMAIL_ADDRESS,
-                    paramsFromService.mManagedDeviceEmailAddress);
-        }
-        if (paramsFromService.mAdminExtrasBundle != null) {
-            result.putExtra(EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE,
-                    paramsFromService.mAdminExtrasBundle);
-        }
-        return result;
-    }
 
     private void onProvisioningSuccess() {
-        stopService(new Intent(DeviceOwnerProvisioningActivity.this,
-                        DeviceOwnerProvisioningService.class));
-
-        // Skip the setup wizard.
+        // The Setup wizards listens to this flag and finishes itself when it is set.
+        // It then fires a home intent, which we catch in the HomeReceiverActivity before sending
+        // the intent to notify the mdm that provisioning is complete.
         Global.putInt(getContentResolver(), Global.DEVICE_PROVISIONED, 1);
         Secure.putInt(getContentResolver(), Secure.USER_SETUP_COMPLETE, 1);
 
-        sendBroadcast(mProvisioningCompleteIntent);
-
+        // Note: the DeviceOwnerProvisioningService will stop itself.
         setResult(Activity.RESULT_OK);
         finish();
     }
@@ -260,46 +284,53 @@
 
     @Override
     public void onBackPressed() {
+        if (mCancelDialogShown) {
+            return;
+        }
+
+        mCancelDialogShown = true;
         showCancelResetDialog();
     }
 
     private void showCancelResetDialog() {
-        AlertDialog.Builder alertBuilder =
-                new AlertDialog.Builder(DeviceOwnerProvisioningActivity.this)
-                        .setCancelable(false)
-                        .setTitle(R.string.device_owner_cancel_title)
-                        .setMessage(R.string.device_owner_cancel_message)
-                        .setNegativeButton(R.string.device_owner_cancel_cancel,
-                                new DialogInterface.OnClickListener() {
-                                    @Override
-                                    public void onClick(DialogInterface dialog,int id) {
-                                        dialog.dismiss();
-                                        synchronized(this) {
-                                            mDialog = null;
-                                            if (mDone) {
-                                                onProvisioningSuccess();
-                                            }
-                                        }
-                                    }
+        new AlertDialog.Builder(DeviceOwnerProvisioningActivity.this)
+                .setCancelable(false)
+                .setTitle(R.string.device_owner_cancel_title)
+                .setMessage(R.string.device_owner_cancel_message)
+                .setNegativeButton(R.string.device_owner_cancel_cancel,
+                        new DialogInterface.OnClickListener() {
+                            @Override
+                            public void onClick(DialogInterface dialog,int id) {
+                                dialog.dismiss();
+                                handlePendingIntents();
+                                mCancelDialogShown = false;
+                            }
                         })
-                        .setPositiveButton(R.string.device_owner_error_reset,
-                                new DialogInterface.OnClickListener() {
-                                    @Override
-                                    public void onClick(DialogInterface dialog,int id) {
-                                        // Factory reset the device.
-                                        sendBroadcast(
-                                                new Intent("android.intent.action.MASTER_CLEAR"));
-                                        stopService(new Intent(DeviceOwnerProvisioningActivity.this,
-                                                DeviceOwnerProvisioningService.class));
-                                        finish();
-                                    }
-                        });
+                .setPositiveButton(R.string.device_owner_error_reset,
+                        new DialogInterface.OnClickListener() {
+                            @Override
+                            public void onClick(DialogInterface dialog,int id) {
+                                dialog.dismiss();
 
-        if (mDialog != null) {
-            mDialog.dismiss();
+                                // Factory reset the device.
+                                Intent intent = new Intent(Intent.ACTION_MASTER_CLEAR);
+                                intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
+                                intent.putExtra(Intent.EXTRA_REASON,
+                                        "DeviceOwnerProvisioningActivity.showCancelResetDialog()");
+                                sendBroadcast(intent);
+                                stopService(new Intent(DeviceOwnerProvisioningActivity.this,
+                                                DeviceOwnerProvisioningService.class));
+                                finish();
+                            }
+                        }).show();
+    }
+
+    private void handlePendingIntents() {
+        for (Intent intent : mPendingProvisioningIntents) {
+            if (DEBUG) ProvisionLogger.logd("Handling pending intent " + intent.getAction());
+            handleProvisioningIntent(intent);
         }
-        mDialog = alertBuilder.create();
-        mDialog.show();
+        mPendingProvisioningIntents.clear();
     }
 
     private void progressUpdate(int progressMessage) {
@@ -320,9 +351,9 @@
                                 DeviceOwnerProvisioningService.class));
                 finish();
             } else if (resultCode == RESULT_OK) {
-                ProvisionLogger.logd("Wifi request result is OK");
+                if (DEBUG) ProvisionLogger.logd("Wifi request result is OK");
                 if (AddWifiNetworkTask.isConnectedToWifi(this)) {
-                    mOnWifiConnectedRunnable.run();
+                    showInterstitialAndProvision(mParams);
                 } else {
                     requestWifiPick();
                 }
@@ -340,8 +371,14 @@
                     new DialogInterface.OnClickListener() {
                         @Override
                         public void onClick(DialogInterface dialog,int id) {
+                            dialog.dismiss();
+
                             // Factory reset the device.
-                            sendBroadcast(new Intent("android.intent.action.MASTER_CLEAR"));
+                            Intent intent = new Intent(Intent.ACTION_MASTER_CLEAR);
+                            intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
+                            intent.putExtra(Intent.EXTRA_REASON,
+                                    "DeviceOwnerProvisioningActivity.error()");
+                            sendBroadcast(intent);
                             stopService(new Intent(DeviceOwnerProvisioningActivity.this,
                                             DeviceOwnerProvisioningService.class));
                             finish();
@@ -352,6 +389,8 @@
                     new DialogInterface.OnClickListener() {
                         @Override
                         public void onClick(DialogInterface dialog,int id) {
+                            dialog.dismiss();
+
                             // Close activity.
                             stopService(new Intent(DeviceOwnerProvisioningActivity.this,
                                             DeviceOwnerProvisioningService.class));
@@ -359,45 +398,47 @@
                         }
                     });
         }
-        mDialog = alertBuilder.create();
-        mDialog.show();
+        alertBuilder.show();
+    }
+
+    @Override
+    protected void onSaveInstanceState(Bundle outState) {
+        outState.putBoolean(KEY_USER_CONSENTED, mUserConsented);
+        outState.putBoolean(KEY_CANCEL_DIALOG_SHOWN, mCancelDialogShown);
+        outState.putParcelableArrayList(KEY_PENDING_INTENTS, mPendingProvisioningIntents);
     }
 
     @Override
     public void onDestroy() {
-        ProvisionLogger.logd("Device owner provisioning activity ONDESTROY");
+        if (DEBUG) ProvisionLogger.logd("Device owner provisioning activity ONDESTROY");
         if (mServiceMessageReceiver != null) {
             LocalBroadcastManager.getInstance(this).unregisterReceiver(mServiceMessageReceiver);
             mServiceMessageReceiver = null;
         }
-        if (mDialog != null) {
-            mDialog.dismiss();
-            mDialog = null;
-        }
         super.onDestroy();
     }
 
     @Override
     protected void onRestart() {
-        ProvisionLogger.logd("Device owner provisioning activity ONRESTART");
+        if (DEBUG) ProvisionLogger.logd("Device owner provisioning activity ONRESTART");
         super.onRestart();
     }
 
     @Override
     protected void onResume() {
-        ProvisionLogger.logd("Device owner provisioning activity ONRESUME");
+        if (DEBUG) ProvisionLogger.logd("Device owner provisioning activity ONRESUME");
         super.onResume();
     }
 
     @Override
     protected void onPause() {
-        ProvisionLogger.logd("Device owner provisioning activity ONPAUSE");
+        if (DEBUG) ProvisionLogger.logd("Device owner provisioning activity ONPAUSE");
         super.onPause();
     }
 
     @Override
     protected void onStop() {
-        ProvisionLogger.logd("Device owner provisioning activity ONSTOP");
+        if (DEBUG) ProvisionLogger.logd("Device owner provisioning activity ONSTOP");
         super.onStop();
     }
 }
diff --git a/src/com/android/managedprovisioning/DeviceOwnerProvisioningService.java b/src/com/android/managedprovisioning/DeviceOwnerProvisioningService.java
index 77d7358..109bb98 100644
--- a/src/com/android/managedprovisioning/DeviceOwnerProvisioningService.java
+++ b/src/com/android/managedprovisioning/DeviceOwnerProvisioningService.java
@@ -16,13 +16,20 @@
 
 package com.android.managedprovisioning;
 
+import static android.app.admin.DeviceAdminReceiver.ACTION_PROFILE_PROVISIONING_COMPLETE;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE;
+
 import android.app.AlarmManager;
 import android.app.Service;
+import android.content.BroadcastReceiver;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
+import android.content.IntentFilter;
+import android.content.pm.PackageManager;
 import android.os.Bundle;
 import android.os.IBinder;
+import android.os.UserHandle;
 import android.support.v4.content.LocalBroadcastManager;
 import android.text.TextUtils;
 
@@ -47,6 +54,8 @@
  * </p>
  */
 public class DeviceOwnerProvisioningService extends Service {
+    private static final boolean DEBUG = false; // To control logging.
+
     /**
      * Intent action to activate the CDMA phone connection by OTASP.
      * This is not necessary for a GSM phone connection, which is activated automatically.
@@ -73,6 +82,11 @@
     protected static final String ACTION_REQUEST_WIFI_PICK =
             "com.android.managedprovisioning.request_wifi_pick";
 
+    // Intent action used by the HomeReceiverActivity to notify this Service that a HOME intent was
+    // received, which indicates that the Setup wizard has closed after provisioning completed.
+    protected static final String ACTION_HOME_INDIRECT =
+            "com.android.managedprovisioning.home_indirect";
+
     // Indicates whether provisioning has started.
     private boolean mProvisioningInFlight = false;
 
@@ -94,13 +108,15 @@
 
     private ProvisioningParams mParams;
 
+    private BroadcastReceiver mIndirectHomeReceiver;
+
     @Override
     public int onStartCommand(final Intent intent, int flags, int startId) {
-        ProvisionLogger.logd("Device owner provisioning service ONSTARTCOMMAND.");
+        if (DEBUG) ProvisionLogger.logd("Device owner provisioning service ONSTARTCOMMAND.");
 
         synchronized (this) { // Make operations on mProvisioningInFlight atomic.
             if (mProvisioningInFlight) {
-                ProvisionLogger.logd("Provisioning already in flight.");
+                if (DEBUG) ProvisionLogger.logd("Provisioning already in flight.");
 
                 sendProgressUpdateToActivity();
 
@@ -115,12 +131,14 @@
                 }
             } else {
                 mProvisioningInFlight = true;
-                ProvisionLogger.logd("First start of the service.");
+                if (DEBUG) ProvisionLogger.logd("First start of the service.");
                 progressUpdate(R.string.progress_data_process);
 
                 // Load the ProvisioningParams (from message in Intent).
                 mParams = (ProvisioningParams) intent.getParcelableExtra(EXTRA_PROVISIONING_PARAMS);
 
+                registerHomeIntentReceiver();
+
                 // Do the work on a separate thread.
                 new Thread(new Runnable() {
                         public void run() {
@@ -133,28 +151,79 @@
         return START_NOT_STICKY;
     }
 
+    // Register the receiver for the ACTION_HOME_INDIRECT intent.
+    // The ACTION_HOME_INDIRECT intent is used to notify this service that the home intent was send.
+    // After receiving that intent we send the complete intent to the mdm.
+    // Note: if we would send the complete intent earlier, the home intent can close the mdm.
+    private void registerHomeIntentReceiver() {
+        mIndirectHomeReceiver = new IndirectHomeReceiver();
+        IntentFilter filter = new IntentFilter();
+        filter.addAction(DeviceOwnerProvisioningService.ACTION_HOME_INDIRECT);
+        LocalBroadcastManager.getInstance(this).registerReceiver(mIndirectHomeReceiver, filter);
+    }
+
+    class IndirectHomeReceiver extends BroadcastReceiver {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            if (!mDone) {
+                return;
+            }
+
+            // Disable the HomeReceiverActivity. It's no longer of use.
+            PackageManager pm = getPackageManager();
+            pm.setComponentEnabledSetting(new ComponentName(DeviceOwnerProvisioningService.this,
+                            HomeReceiverActivity.class), PackageManager
+                    .COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
+
+            // Send complete intent to mdm.
+            Intent result = new Intent(ACTION_PROFILE_PROVISIONING_COMPLETE);
+            result.setPackage(mParams.mDeviceAdminPackageName);
+            result.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES |
+                    Intent.FLAG_RECEIVER_FOREGROUND);
+            if (mParams.mAdminExtrasBundle != null) {
+                result.putExtra(EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE,
+                        mParams.mAdminExtrasBundle);
+            }
+            sendBroadcast(result);
+            stopSelf();
+        }
+    }
+
+
     /**
      * This is the core method of this class. It goes through every provisioning step.
      */
     private void startDeviceOwnerProvisioning(final ProvisioningParams params) {
-        ProvisionLogger.logd("Starting device owner provisioning");
+        if (DEBUG) ProvisionLogger.logd("Starting device owner provisioning");
 
         // Construct Tasks. Do not start them yet.
-        mAddWifiNetworkTask = new AddWifiNetworkTask(this, params.mWifiSsid,
-                params.mWifiHidden, params.mWifiSecurityType, params.mWifiPassword,
-                params.mWifiProxyHost, params.mWifiProxyPort, params.mWifiProxyBypassHosts,
-                params.mWifiPacUrl, new AddWifiNetworkTask.Callback() {
-                        @Override
-                        public void onSuccess() {
-                            progressUpdate(R.string.progress_download);
-                            mDownloadPackageTask.run();
-                        }
+        if (TextUtils.isEmpty(params.mWifiSsid)) {
+            mAddWifiNetworkTask = null;
+        } else {
+            mAddWifiNetworkTask = new AddWifiNetworkTask(this, params.mWifiSsid,
+                    params.mWifiHidden, params.mWifiSecurityType, params.mWifiPassword,
+                    params.mWifiProxyHost, params.mWifiProxyPort, params.mWifiProxyBypassHosts,
+                    params.mWifiPacUrl, new AddWifiNetworkTask.Callback() {
+                            @Override
+                            public void onSuccess() {
+                                if (!TextUtils.isEmpty(params.mDeviceAdminPackageDownloadLocation)) {
+                                    // Download, install, set as device owner, delete apps.
+                                    progressUpdate(R.string.progress_download);
+                                    mDownloadPackageTask.run();
+                                } else {
+                                    // Device Admin will not be downloaded (but is already present):
+                                    // Just set as device owner, delete apps.
+                                    progressUpdate(R.string.progress_set_owner);
+                                    mSetDevicePolicyTask.run();
+                                }
+                            }
 
-                        @Override
-                        public void onError(){
-                            error(R.string.device_owner_error_wifi);
-                        }
-                });
+                            @Override
+                            public void onError(){
+                                error(R.string.device_owner_error_wifi);
+                            }
+                        });
+        }
 
         mDownloadPackageTask = new DownloadPackageTask(this,
                 params.mDeviceAdminPackageDownloadLocation, params.mDeviceAdminPackageChecksum,
@@ -214,7 +283,11 @@
                 new SetDevicePolicyTask.Callback() {
                     @Override
                     public void onSuccess() {
-                        mDeleteNonRequiredAppsTask.run();
+                        if (params.mLeaveAllSystemAppsEnabled) {
+                            onProvisioningSuccess(params.mDeviceAdminPackageName);
+                        } else {
+                            mDeleteNonRequiredAppsTask.run();
+                        }
                     }
 
                     @Override
@@ -233,9 +306,11 @@
                     }
                 });
 
-        mDeleteNonRequiredAppsTask =  new DeleteNonRequiredAppsTask(
-                this, params.mDeviceAdminPackageName, 0 /* primary user's UserId */,
+        mDeleteNonRequiredAppsTask = new DeleteNonRequiredAppsTask(
+                this, params.mDeviceAdminPackageName, UserHandle.USER_OWNER,
                 R.array.required_apps_managed_device, R.array.vendor_required_apps_managed_device,
+                true /* We are creating a new profile */,
+                false /* Do not disable INSTALL_SHORTCUT listeners */,
                 new DeleteNonRequiredAppsTask.Callback() {
                     public void onSuccess() {
                         // Done with provisioning. Success.
@@ -249,12 +324,22 @@
                 });
 
         // Start first task, which starts next task in its callback, etc.
-        if (!TextUtils.isEmpty(params.mDeviceAdminPackageDownloadLocation)) {
-            // Device Admin has to be downloaded:
-            // Connect to wifi, download, install, set as device owner, delete apps.
+        startFirstTask(params);
+    }
+
+    private void startFirstTask(final ProvisioningParams params) {
+        if (mAddWifiNetworkTask != null) {
+
+            // Connect to wifi.
             progressUpdate(R.string.progress_connect_to_wifi);
             mAddWifiNetworkTask.run();
+        } else if (!TextUtils.isEmpty(params.mDeviceAdminPackageDownloadLocation)) {
+
+            // Download, install, set as device owner, delete apps.
+            progressUpdate(R.string.progress_download);
+            mDownloadPackageTask.run();
         } else {
+
             // Device Admin will not be downloaded (but is already present):
             // Just set as device owner, delete apps.
             progressUpdate(R.string.progress_set_owner);
@@ -269,7 +354,10 @@
     }
 
     private void sendError() {
-        ProvisionLogger.logd("Reporting Error: " + getResources().getString(mLastErrorMessage));
+        if (DEBUG) {
+            ProvisionLogger.logd("Reporting Error: " + getResources()
+                .getString(mLastErrorMessage));
+        }
         Intent intent = new Intent(ACTION_PROVISIONING_ERROR);
         intent.setClass(this, DeviceOwnerProvisioningActivity.ServiceMessageReceiver.class);
         intent.putExtra(EXTRA_USER_VISIBLE_ERROR_ID_KEY, mLastErrorMessage);
@@ -277,8 +365,10 @@
     }
 
     private void progressUpdate(int progressMessage) {
-        ProvisionLogger.logd("Reporting progress update: "
-                + getResources().getString(progressMessage));
+        if (DEBUG) {
+            ProvisionLogger.logd("Reporting progress update: " + getResources()
+                .getString(progressMessage));
+        }
         mLastProgressMessage = progressMessage;
         sendProgressUpdateToActivity();
     }
@@ -291,10 +381,18 @@
     }
 
     private void onProvisioningSuccess(String deviceAdminPackage) {
-        ProvisionLogger.logv("Reporting success.");
+        if (DEBUG) ProvisionLogger.logd("Reporting success.");
         mDone = true;
+
+        // Enable the HomeReceiverActivity, since the DeviceOwnerProvisioningActivity will shutdown
+        // the Setup wizard soon, which will result in a home intent that should be caught by the
+        // HomeReceiverActivity.
+        PackageManager pm = getPackageManager();
+        pm.setComponentEnabledSetting(new ComponentName(DeviceOwnerProvisioningService.this,
+                        HomeReceiverActivity.class), PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
+                PackageManager.DONT_KILL_APP);
+
         Intent successIntent = new Intent(ACTION_PROVISIONING_SUCCESS);
-        successIntent.putExtra(EXTRA_PROVISIONING_PARAMS, mParams);
         successIntent.setClass(this, DeviceOwnerProvisioningActivity.ServiceMessageReceiver.class);
         LocalBroadcastManager.getInstance(this).sendBroadcast(successIntent);
         // Wait for stopService() call from the activity.
@@ -307,7 +405,7 @@
         // Start CDMA activation to enable phone calls.
         final Intent intent = new Intent(ACTION_PERFORM_CDMA_PROVISIONING);
         intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        ProvisionLogger.logv("Starting cdma activation activity");
+        if (DEBUG) ProvisionLogger.logd("Starting cdma activation activity");
         startActivity(intent); // Activity will be a Nop if not a CDMA device.
     }
 
@@ -315,11 +413,11 @@
         try {
             final AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
             if (timeZone != null) {
-                ProvisionLogger.logd("Setting time zone to " + timeZone);
+                if (DEBUG) ProvisionLogger.logd("Setting time zone to " + timeZone);
                 am.setTimeZone(timeZone);
             }
             if (localTime > 0) {
-                ProvisionLogger.logd("Setting time to " + localTime);
+                if (DEBUG) ProvisionLogger.logd("Setting time to " + localTime);
                 am.setTime(localTime);
             }
         } catch (Exception e) {
@@ -333,7 +431,7 @@
             return;
         }
         try {
-            ProvisionLogger.logd("Setting locale to " + locale);
+            if (DEBUG) ProvisionLogger.logd("Setting locale to " + locale);
             // If locale is different from current locale this results in a configuration change,
             // which will trigger the restarting of the activity.
             LocalePicker.updateLocale(locale);
@@ -345,18 +443,23 @@
 
     @Override
     public void onCreate () {
-        ProvisionLogger.logd("Device owner provisioning service ONCREATE.");
+        if (DEBUG) ProvisionLogger.logd("Device owner provisioning service ONCREATE.");
     }
 
     @Override
     public void onDestroy () {
-        ProvisionLogger.logd("Device owner provisioning service ONDESTROY");
+        if (DEBUG) ProvisionLogger.logd("Device owner provisioning service ONDESTROY");
         if (mAddWifiNetworkTask != null) {
             mAddWifiNetworkTask.cleanUp();
         }
         if (mDownloadPackageTask != null) {
             mDownloadPackageTask.cleanUp();
         }
+        if (mIndirectHomeReceiver != null) {
+            LocalBroadcastManager.getInstance(this).unregisterReceiver(mIndirectHomeReceiver);
+            mIndirectHomeReceiver = null;
+        }
+
     }
 
     @Override
diff --git a/src/com/android/managedprovisioning/HomeReceiverActivity.java b/src/com/android/managedprovisioning/HomeReceiverActivity.java
new file mode 100644
index 0000000..3521949
--- /dev/null
+++ b/src/com/android/managedprovisioning/HomeReceiverActivity.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2014, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+import android.support.v4.content.LocalBroadcastManager;
+
+/*
+ * This class is used to make sure that we start the mdm after we shut the Setup wizard down.
+ * The shut down of the Setup wizard is initiated in the DeviceOwnerProvisioningActivity by setting
+ * Global.DEVICE_PROVISIONED. This will cause the Setup wizard to shut down and send a HOME intent.
+ * Instead of opening the home screen we want to open the mdm, so the HOME intent is caught by this
+ * activity instead, which notifies the DeviceOwnerProvisioningService to send the
+ * ACTION_PROFILE_PROVISIONING_COMPLETE to the mdm, which will then open up.
+ */
+
+public class HomeReceiverActivity extends Activity {
+    @Override
+   public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        Intent indirectIntent = new Intent(DeviceOwnerProvisioningService.ACTION_HOME_INDIRECT);
+        LocalBroadcastManager.getInstance(this).sendBroadcast(indirectIntent);
+        finish();
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/managedprovisioning/IntentStore.java b/src/com/android/managedprovisioning/IntentStore.java
index 994672c..ae5839a 100644
--- a/src/com/android/managedprovisioning/IntentStore.java
+++ b/src/com/android/managedprovisioning/IntentStore.java
@@ -15,24 +15,24 @@
  */
 package com.android.managedprovisioning;
 
+import android.accounts.Account;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
 import android.content.SharedPreferences;
-
 import android.os.Bundle;
 import android.os.PersistableBundle;
 import android.util.Xml;
 
-import java.io.IOException;
-import java.io.StringReader;
-import java.io.StringWriter;
-
 import org.xmlpull.v1.XmlPullParser;
 import org.xmlpull.v1.XmlPullParserException;
 import org.xmlpull.v1.XmlPullParserFactory;
 import org.xmlpull.v1.XmlSerializer;
 
+import java.io.IOException;
+import java.io.StringReader;
+import java.io.StringWriter;
+
 /**
  * Helper class to load/save resume information from Intents into a SharedPreferences.
  */
@@ -48,8 +48,12 @@
     private String[] mIntKeys = new String[0];
     private String[] mBooleanKeys = new String[0];
     private String[] mPersistableBundleKeys = new String[0];
+    private String[] mAccountKeys = new String[0];
 
     private static final String TAG_PERSISTABLEBUNDLE = "persistable_bundle";
+    private static final String TAG_ACCOUNT = "account";
+    private static final String ATTRIBUTE_ACCOUNT_NAME = "name";
+    private static final String ATTRIBUTE_ACCOUNT_TYPE = "type";
 
     private static final String IS_SET = "isSet";
 
@@ -80,6 +84,11 @@
         return this;
     }
 
+    public IntentStore setAccountKeys(String[] keys) {
+        mAccountKeys = (keys == null) ? new String[0] : keys;
+        return this;
+    }
+
     public IntentStore setPersistableBundleKeys(String[] keys) {
         mPersistableBundleKeys = (keys == null) ? new String[0] : keys;
         return this;
@@ -105,11 +114,21 @@
         for (String key : mBooleanKeys) {
             editor.putBoolean(key, data.getBoolean(key));
         }
+        for (String key : mAccountKeys) {
+            Account account = (Account) data.getParcelable(key);
+            String accountString = accountToString(account);
+            if (accountString != null) {
+                editor.putString(key, accountString);
+            }
+        }
         for (String key : mPersistableBundleKeys) {
 
             // Cast should be guaranteed to succeed by check in the provisioning activities.
-            editor.putString(key, persistableBundleToString((PersistableBundle) data
-                            .getParcelable(key)));
+            String bundleString = persistableBundleToString((PersistableBundle) data
+                    .getParcelable(key));
+            if (bundleString != null) {
+                editor.putString(key, bundleString);
+            }
         }
         editor.putBoolean(IS_SET, true);
         editor.commit();
@@ -144,6 +163,14 @@
                 result.putExtra(key, mPrefs.getBoolean(key, false));
             }
         }
+        for (String key : mAccountKeys) {
+            if (mPrefs.contains(key)) {
+                Account account = stringToAccount(mPrefs.getString(key, null));
+                if (account != null) {
+                    result.putExtra(key, account);
+                }
+            }
+        }
         for (String key : mPersistableBundleKeys) {
             if (mPrefs.contains(key)) {
                 PersistableBundle bundle = stringToPersistableBundle(mPrefs.getString(key, null));
@@ -156,7 +183,63 @@
         return result;
     }
 
+    private String accountToString(Account account) {
+        if (account == null) {
+            return null;
+        }
+        StringWriter writer = new StringWriter();
+        XmlSerializer serializer = Xml.newSerializer();
+        try {
+            serializer.setOutput(writer);
+            serializer.startDocument(null, true);
+            serializer.startTag(null, TAG_ACCOUNT);
+            serializer.attribute(null /* namespace */, ATTRIBUTE_ACCOUNT_NAME, account.name);
+            serializer.attribute(null /* namespace */, ATTRIBUTE_ACCOUNT_TYPE, account.type);
+            serializer.endTag(null, TAG_ACCOUNT);
+            serializer.endDocument();
+        } catch (IOException e) {
+            ProvisionLogger.loge("Account could not be stored as string.", e);
+            return null;
+        }
+
+        return writer.toString();
+    }
+
+    private Account stringToAccount(String string) {
+        if (string == null) {
+            return null;
+        }
+        XmlPullParserFactory factory;
+        XmlPullParser parser;
+        try {
+            factory = XmlPullParserFactory.newInstance();
+
+            parser = factory.newPullParser();
+            parser.setInput(new StringReader(string));
+
+            if ((parser.next() == XmlPullParser.START_TAG)
+                    && TAG_ACCOUNT.equals(parser.getName())) {
+                String name = parser.getAttributeValue(null /* namespace */,
+                        ATTRIBUTE_ACCOUNT_NAME);
+                String type = parser.getAttributeValue(null /* namespace */,
+                        ATTRIBUTE_ACCOUNT_TYPE);
+                if (name != null && type != null) {
+                    return new Account(name, type);
+                }
+            }
+        } catch (IOException|XmlPullParserException e) {
+            ProvisionLogger.loge(e);
+            // Fall through.
+        }
+        ProvisionLogger.loge("Account could not be restored from string " + string);
+        return null;
+    }
+
     private String persistableBundleToString(PersistableBundle bundle) {
+        if (bundle == null) {
+            return null;
+        }
+
         StringWriter writer = new StringWriter();
         XmlSerializer serializer = Xml.newSerializer();
         try {
@@ -175,6 +258,10 @@
     }
 
     private PersistableBundle stringToPersistableBundle(String string) {
+        if (string == null) {
+            return null;
+        }
+
         XmlPullParserFactory factory;
         XmlPullParser parser;
         try {
diff --git a/src/com/android/managedprovisioning/ManagedProvisioningErrorDialog.java b/src/com/android/managedprovisioning/ManagedProvisioningErrorDialog.java
deleted file mode 100644
index ad123bd..0000000
--- a/src/com/android/managedprovisioning/ManagedProvisioningErrorDialog.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright 2014, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.managedprovisioning;
-
-import android.app.Activity;
-import android.app.AlertDialog;
-import android.app.Dialog;
-import android.app.DialogFragment;
-import android.content.DialogInterface;
-import android.os.Bundle;
-
-/**
- * Dialog used to notify the user that the managed provisioning failed, and shutdown the current
- * activity.
- *
- * Note: You should not do any more work in your app after showing this dialog. See guidelines for
- * {@code Activity#finish()} method call.
- */
-public class ManagedProvisioningErrorDialog extends DialogFragment {
-
-  private final String message;
-
-  public ManagedProvisioningErrorDialog(String message) {
-      super();
-      this.message = message;
-  }
-
-  @Override
-  public Dialog onCreateDialog(Bundle savedInstanceState) {
-      // TODO: This disappears when you rotate, fix it when we refactor the app
-
-      AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(getActivity());
-      // TODO: Get strings from PM.
-      alertDialogBuilder.setTitle(R.string.provisioning_error_title)
-              .setMessage(message)
-              .setCancelable(false)
-              .setPositiveButton("OK", new DialogInterface.OnClickListener() {
-                        @Override
-                        public void onClick(DialogInterface dialog,int id) {
-                            // Close activity
-                            getActivity().setResult(Activity.RESULT_CANCELED);
-                            getActivity().finish();
-                      }});
-      return alertDialogBuilder.create();
-  }
-}
diff --git a/src/com/android/managedprovisioning/ManagedProvisioningService.java b/src/com/android/managedprovisioning/ManagedProvisioningService.java
deleted file mode 100644
index 77cf42e..0000000
--- a/src/com/android/managedprovisioning/ManagedProvisioningService.java
+++ /dev/null
@@ -1,376 +0,0 @@
-/*
- * Copyright 2014, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.managedprovisioning;
-
-import static android.app.admin.DeviceAdminReceiver.ACTION_PROFILE_PROVISIONING_COMPLETE;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEFAULT_MANAGED_PROFILE_NAME;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_EMAIL_ADDRESS;
-import static com.android.managedprovisioning.ManagedProvisioningActivity.EXTRA_LEGACY_PROVISIONING_DEFAULT_MANAGED_PROFILE_NAME;
-import static com.android.managedprovisioning.ManagedProvisioningActivity.EXTRA_LEGACY_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME;
-
-import android.app.ActivityManagerNative;
-import android.app.IActivityManager;
-import android.app.Service;
-import android.app.admin.DevicePolicyManager;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.content.pm.ActivityInfo;
-import android.content.pm.IPackageManager;
-import android.content.pm.PackageInfo;
-import android.content.pm.PackageManager;
-import android.content.pm.PackageManager.NameNotFoundException;
-import android.content.pm.UserInfo;
-import android.os.AsyncTask;
-import android.os.Parcelable;
-import android.os.PersistableBundle;
-import android.os.IBinder;
-import android.os.Process;
-import android.os.RemoteException;
-import android.os.ServiceManager;
-import android.os.UserHandle;
-import android.os.UserManager;
-import android.provider.MediaStore;
-import android.provider.Settings;
-import android.support.v4.content.LocalBroadcastManager;
-import android.text.TextUtils;
-
-import com.android.managedprovisioning.CrossProfileIntentFiltersHelper;
-import com.android.managedprovisioning.task.DeleteNonRequiredAppsTask;
-
-/**
- * Service that runs the managed provisioning.
- *
- * <p>This service is started from and sends updates to the {@link ManagedProvisioningActivity},
- * which contains the provisioning UI.
- */
-public class ManagedProvisioningService extends Service {
-
-    // Intent actions for communication with DeviceOwnerProvisioningService.
-    public static final String ACTION_PROVISIONING_SUCCESS =
-            "com.android.managedprovisioning.provisioning_success";
-    public static final String ACTION_PROVISIONING_ERROR =
-            "com.android.managedprovisioning.error";
-    public static final String EXTRA_LOG_MESSAGE_KEY = "ProvisioingErrorLogMessage";
-
-    private String mMdmPackageName;
-    private ComponentName mActiveAdminComponentName;
-    private String mDefaultManagedProfileName;
-    private String mManagedProfileEmailAddress;
-
-    // PersistableBundle extra received in starting intent.
-    // Should be passed through to device management application when provisioning is complete.
-    private PersistableBundle mAdminExtrasBundle;
-
-    private IPackageManager mIpm;
-    private UserInfo mManagedProfileUserInfo;
-    private UserManager mUserManager;
-
-    private int mStartIdProvisioning;
-    private AsyncTask<Intent, Object, Void> runnerTask;
-
-    private class RunnerTask extends AsyncTask<Intent, Object, Void> {
-        @Override
-        protected Void doInBackground(Intent ... intents) {
-            initialize(intents[0]);
-            startManagedProfileProvisioning();
-            return null;
-        }
-    }
-
-    @Override
-    public void onCreate() {
-        super.onCreate();
-
-        ProvisionLogger.logd("Managed provisioning service ONCREATE");
-
-        mIpm = IPackageManager.Stub.asInterface(ServiceManager.getService("package"));
-        mUserManager = (UserManager) getSystemService(Context.USER_SERVICE);
-
-        runnerTask = new RunnerTask();
-    }
-
-    @Override
-    public int onStartCommand(final Intent intent, int flags, int startId) {
-
-        ProvisionLogger.logd("Starting managed provisioning service");
-        try {
-            runnerTask.execute(intent);
-        } catch (IllegalStateException ex) {
-            ProvisionLogger.logd("ManagedProvisioningService: Provisioning already in progress, "
-                    + "second provisioning intent not being processed");
-        }
-        return START_NOT_STICKY;
-}
-
-    private void initialize(Intent intent) {
-        mMdmPackageName = getMdmPackageName(intent);
-        mManagedProfileEmailAddress =
-                intent.getStringExtra(EXTRA_PROVISIONING_EMAIL_ADDRESS);
-
-        // Cast is guaranteed by check in Activity.
-        mAdminExtrasBundle  = (PersistableBundle) intent.getParcelableExtra(
-                EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE);
-
-        mActiveAdminComponentName = getAdminReceiverComponent(mMdmPackageName);
-        mDefaultManagedProfileName = getDefaultManagedProfileName(intent);
-    }
-
-    /**
-     * Find the Device admin receiver component from the manifest.
-     */
-    private ComponentName getAdminReceiverComponent(String packageName) {
-        ComponentName adminReceiverComponent = null;
-
-        try {
-            PackageInfo pi = getPackageManager().getPackageInfo(packageName,
-                    PackageManager.GET_RECEIVERS);
-            for (ActivityInfo ai : pi.receivers) {
-                if (!TextUtils.isEmpty(ai.permission) &&
-                        ai.permission.equals(android.Manifest.permission.BIND_DEVICE_ADMIN)) {
-                    adminReceiverComponent = new ComponentName(packageName, ai.name);
-
-                }
-            }
-        } catch (NameNotFoundException e) {
-            error("Error: The provided mobile device management package does not define a device"
-                    + "admin receiver component in its manifest.");
-        }
-        return adminReceiverComponent;
-    }
-
-    private String getDefaultManagedProfileName(Intent intent) {
-        String name = intent.getStringExtra(EXTRA_PROVISIONING_DEFAULT_MANAGED_PROFILE_NAME);
-        if (TextUtils.isEmpty(name)) {
-            name = intent.getStringExtra(EXTRA_LEGACY_PROVISIONING_DEFAULT_MANAGED_PROFILE_NAME);
-        }
-        if (TextUtils.isEmpty(name)) {
-            name = getString(R.string.default_managed_profile_name);
-        }
-        return name;
-    }
-
-    private String getMdmPackageName(Intent intent) {
-        String name = intent.getStringExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME);
-        if (TextUtils.isEmpty(name)) {
-            name = intent.getStringExtra(EXTRA_LEGACY_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME);
-        }
-        return name;
-    }
-
-    /**
-     * This is the core method of this class. It goes through every provisioning step.
-     */
-    private void startManagedProfileProvisioning() {
-
-        ProvisionLogger.logd("Starting managed profile provisioning");
-
-        // Work through the provisioning steps in their corresponding order
-        createProfile(mDefaultManagedProfileName);
-        DeleteNonRequiredAppsTask deleteTask =
-                new DeleteNonRequiredAppsTask(this,
-                        mMdmPackageName, mManagedProfileUserInfo.id,
-                        R.array.required_apps_managed_profile,
-                        R.array.vendor_required_apps_managed_profile,
-                        new DeleteNonRequiredAppsTask.Callback() {
-
-                            @Override
-                            public void onSuccess() {
-                                setUpProfileAndFinish();
-                            }
-
-                            @Override
-                            public void onError() {
-                                error("Delete non required apps task failed.");
-                            }
-                        });
-        deleteTask.run();
-    }
-
-    /**
-     * Called when the new profile is ready for provisioning (the profile is created and all the
-     * apps not needed have been deleted).
-     */
-    private void setUpProfileAndFinish() {
-            installMdmOnManagedProfile();
-            setMdmAsActiveAdmin();
-            setMdmAsManagedProfileOwner();
-            startManagedProfile();
-            CrossProfileIntentFiltersHelper.setFilters(
-                    getPackageManager(), getUserId(), mManagedProfileUserInfo.id);
-            onProvisioningSuccess(mActiveAdminComponentName);
-    }
-
-    private void createProfile(String profileName) {
-
-        ProvisionLogger.logd("Creating managed profile with name " + profileName);
-
-        mManagedProfileUserInfo = mUserManager.createProfileForUser(profileName,
-                UserInfo.FLAG_MANAGED_PROFILE | UserInfo.FLAG_DISABLED,
-                Process.myUserHandle().getIdentifier());
-
-        if (mManagedProfileUserInfo == null) {
-            if (UserManager.getMaxSupportedUsers() == mUserManager.getUserCount()) {
-                error("Profile creation failed, maximum number of users reached.");
-            } else {
-                error("Couldn't create profile. Reason unknown.");
-            }
-        }
-    }
-
-    /**
-     * Initializes the user that underlies the managed profile.
-     * This is required so that the provisioning complete broadcast can be sent across to the
-     * profile and apps can run on it.
-     */
-    private void startManagedProfile()  {
-        ProvisionLogger.logd("Starting user in background");
-        IActivityManager iActivityManager = ActivityManagerNative.getDefault();
-        try {
-            boolean success = iActivityManager.startUserInBackground(mManagedProfileUserInfo.id);
-            if (!success) {
-               error("Could not start user in background");
-            }
-        } catch (RemoteException neverThrown) {
-            // Never thrown, as we are making local calls.
-            ProvisionLogger.loge("This should not happen.", neverThrown);
-        }
-    }
-
-    private void installMdmOnManagedProfile() {
-
-        ProvisionLogger.logd("Installing mobile device management app " + mMdmPackageName +
-              " on managed profile");
-
-        try {
-            int status = mIpm.installExistingPackageAsUser(
-                mMdmPackageName, mManagedProfileUserInfo.id);
-            switch (status) {
-              case PackageManager.INSTALL_SUCCEEDED:
-                  return;
-              case PackageManager.INSTALL_FAILED_USER_RESTRICTED:
-                  // Should not happen because we're not installing a restricted user
-                  error("Could not install mobile device management app on managed "
-                          + "profile because the user is restricted");
-              case PackageManager.INSTALL_FAILED_INVALID_URI:
-                  // Should not happen because we already checked
-                  error("Could not install mobile device management app on managed "
-                          + "profile because the package could not be found");
-              default:
-                  error("Could not install mobile device management app on managed "
-                          + "profile. Unknown status: " + status);
-            }
-        } catch (RemoteException neverThrown) {
-            // Never thrown, as we are making local calls.
-            ProvisionLogger.loge("This should not happen.", neverThrown);
-        }
-    }
-
-    private void setMdmAsManagedProfileOwner() {
-
-        ProvisionLogger.logd("Setting package " + mMdmPackageName + " as managed profile owner.");
-
-        DevicePolicyManager dpm =
-                (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
-        if (!dpm.setProfileOwner(mActiveAdminComponentName,
-                mDefaultManagedProfileName, mManagedProfileUserInfo.id)) {
-            ProvisionLogger.logw("Could not set profile owner.");
-            error("Could not set profile owner.");
-        }
-    }
-
-    private void setMdmAsActiveAdmin() {
-
-        ProvisionLogger.logd("Setting package " + mMdmPackageName + " as active admin.");
-
-        DevicePolicyManager dpm =
-                (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
-        dpm.setActiveAdmin(mActiveAdminComponentName, true /* refreshing*/,
-                mManagedProfileUserInfo.id);
-    }
-
-    private void sendProvisioningCompleteToManagedProfile(Context context) {
-        UserManager userManager = (UserManager) getSystemService(Context.USER_SERVICE);
-        UserHandle userHandle = userManager.getUserForSerialNumber(
-                mManagedProfileUserInfo.serialNumber);
-
-        Intent completeIntent = new Intent(ACTION_PROFILE_PROVISIONING_COMPLETE);
-        completeIntent.setComponent(mActiveAdminComponentName);
-        completeIntent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES |
-            Intent.FLAG_RECEIVER_FOREGROUND);
-        if (mManagedProfileEmailAddress != null) {
-            completeIntent.putExtra(EXTRA_PROVISIONING_EMAIL_ADDRESS, mManagedProfileEmailAddress);
-        }
-        if (mAdminExtrasBundle != null) {
-            completeIntent.putExtra(EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE, mAdminExtrasBundle);
-        }
-        context.sendBroadcastAsUser(completeIntent, userHandle);
-
-        ProvisionLogger.logd("Provisioning complete broadcast has been sent to user "
-            + userHandle.getIdentifier());
-      }
-
-
-    /**
-     * Notify the calling activity and the mdm that provisioning has completed.
-     *
-     * @param deviceAdminComponent The component of the mdm that will be notified.
-     */
-    private void onProvisioningSuccess(ComponentName deviceAdminComponent) {
-        Settings.Secure.putIntForUser(getContentResolver(), Settings.Secure.USER_SETUP_COMPLETE,
-                1, mManagedProfileUserInfo.id);
-
-        Intent successIntent = new Intent(ACTION_PROVISIONING_SUCCESS);
-        LocalBroadcastManager.getInstance(this).sendBroadcast(successIntent);
-
-        sendProvisioningCompleteToManagedProfile(this);
-        stopSelf();
-    }
-
-    private void error(String logMessage) {
-        Intent intent = new Intent(ACTION_PROVISIONING_ERROR);
-        intent.setClass(this, ManagedProvisioningActivity.ServiceMessageReceiver.class);
-        intent.putExtra(EXTRA_LOG_MESSAGE_KEY, logMessage);
-        sendBroadcast(intent);
-        cleanup();
-        stopSelf();
-    }
-
-    /**
-     * Performs cleanup of the device on failure.
-     */
-    private void cleanup() {
-        // The only cleanup we need to do is remove the profile we created.
-        if (mManagedProfileUserInfo != null) {
-            ProvisionLogger.logd("Removing managed profile");
-            mUserManager.removeUser(mManagedProfileUserInfo.id);
-        }
-    }
-
-    @Override
-    public IBinder onBind(Intent intent) {
-        return null;
-    }
-
-    @Override
-    public void onDestroy() {
-        ProvisionLogger.logd("ManagedProvisioningService  ONDESTROY");
-    }
-}
diff --git a/src/com/android/managedprovisioning/MessageParser.java b/src/com/android/managedprovisioning/MessageParser.java
index 0452166..1cb77d7 100644
--- a/src/com/android/managedprovisioning/MessageParser.java
+++ b/src/com/android/managedprovisioning/MessageParser.java
@@ -32,7 +32,7 @@
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM;
-import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_EMAIL_ADDRESS;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED;
 import static android.app.admin.DevicePolicyManager.MIME_TYPE_PROVISIONING_NFC;
 import static java.nio.charset.StandardCharsets.UTF_8;
 
@@ -55,8 +55,9 @@
 import java.util.Properties;
 
 /**
- * This class can initialize a ProvisioningParams object from an intent.
- * There are two kinds of intents that can be parsed.
+ * This class can initialize a {@link ProvisioningParams} object from an intent.
+ * A {@link ProvisioningParams} object stores various parameters for the device owner provisioning.
+ * There are two kinds of intents that can be parsed it into {@link ProvisioningParams}:
  *
  * <p>
  * Intent was received via Nfc.
@@ -78,6 +79,8 @@
  * sum of the target file {@link #EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM}.
  * Additional information to send through to the device admin may be specified in
  * {@link #EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE}.
+ * The boolean {@link #EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED} indicates wheter system
+ * apps should not be disabled.
  * Furthermore a wifi network may be specified in {@link #EXTRA_PROVISIONING_WIFI_SSID}, and if
  * applicable {@link #EXTRA_PROVISIONING_WIFI_HIDDEN},
  * {@link #EXTRA_PROVISIONING_WIFI_SECURITY_TYPE}, {@link #EXTRA_PROVISIONING_WIFI_PASSWORD},
@@ -87,10 +90,14 @@
  * and reboot.
  *
  * <p>
- * Furthermore this class can construct the bundle of extras for the second kind of intent, and it
- * keeps track of the types of the extras in the DEVICE_OWNER_x_EXTRAS, with x the appropriate type.
+ * Furthermore this class can construct the bundle of extras for the second kind of intent given a
+ * {@link ProvisioningParams}, and it keeps track of the types of the extras in the
+ * DEVICE_OWNER_x_EXTRAS, with x the appropriate type.
  */
 public class MessageParser {
+    private static final String EXTRA_PROVISIONING_STARTED_BY_NFC  =
+            "com.android.managedprovisioning.extra.started_by_nfc";
+
     protected static final String[] DEVICE_OWNER_STRING_EXTRAS = {
         EXTRA_PROVISIONING_TIME_ZONE,
         EXTRA_PROVISIONING_LOCALE,
@@ -103,8 +110,7 @@
         EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME,
         EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION,
         EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER,
-        EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM,
-        EXTRA_PROVISIONING_EMAIL_ADDRESS
+        EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM
     };
 
     protected static final String[] DEVICE_OWNER_LONG_EXTRAS = {
@@ -116,7 +122,9 @@
     };
 
     protected static final String[] DEVICE_OWNER_BOOLEAN_EXTRAS = {
-        EXTRA_PROVISIONING_WIFI_HIDDEN
+        EXTRA_PROVISIONING_WIFI_HIDDEN,
+        EXTRA_PROVISIONING_STARTED_BY_NFC,
+        EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED
     };
 
     protected static final String[] DEVICE_OWNER_PERSISTABLE_BUNDLE_EXTRAS = {
@@ -140,13 +148,15 @@
                 params.mDeviceAdminPackageDownloadCookieHeader);
         bundle.putString(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM,
                 params.getDeviceAdminPackageChecksumAsString());
-        bundle.putString(EXTRA_PROVISIONING_EMAIL_ADDRESS, params.mManagedDeviceEmailAddress);
 
         bundle.putLong(EXTRA_PROVISIONING_LOCAL_TIME, params.mLocalTime);
 
         bundle.putInt(EXTRA_PROVISIONING_WIFI_PROXY_PORT, params.mWifiProxyPort);
 
         bundle.putBoolean(EXTRA_PROVISIONING_WIFI_HIDDEN, params.mWifiHidden);
+        bundle.putBoolean(EXTRA_PROVISIONING_STARTED_BY_NFC, params.mStartedByNfc);
+        bundle.putBoolean(EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED,
+                params.mLeaveAllSystemAppsEnabled);
 
         bundle.putParcelable(EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE, params.mAdminExtrasBundle);
     }
@@ -173,7 +183,10 @@
             String mimeType = new String(firstRecord.getType(), UTF_8);
 
             if (MIME_TYPE_PROVISIONING_NFC.equals(mimeType)) {
-                return parseProperties(new String(firstRecord.getPayload(), UTF_8));
+                ProvisioningParams params = parseProperties(new String(firstRecord.getPayload()
+                                , UTF_8));
+                params.mStartedByNfc = true;
+                return params;
             }
         }
         throw new ParseException(
@@ -212,7 +225,6 @@
             if ((s = props.getProperty(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM)) != null) {
                 params.mDeviceAdminPackageChecksum = stringToByteArray(s);
             }
-            params.mManagedDeviceEmailAddress = props.getProperty(EXTRA_PROVISIONING_EMAIL_ADDRESS);
 
             if ((s = props.getProperty(EXTRA_PROVISIONING_LOCAL_TIME)) != null) {
                 params.mLocalTime = Long.parseLong(s);
@@ -226,6 +238,10 @@
                 params.mWifiHidden = Boolean.parseBoolean(s);
             }
 
+            if ((s = props.getProperty(EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED)) != null) {
+                params.mLeaveAllSystemAppsEnabled = Boolean.parseBoolean(s);
+            }
+
             checkValidityOfProvisioningParams(params);
             return params;
         } catch (IOException e) {
@@ -266,8 +282,6 @@
         if (hashString != null) {
             params.mDeviceAdminPackageChecksum = stringToByteArray(hashString);
         }
-        params.mManagedDeviceEmailAddress
-                = intent.getStringExtra(EXTRA_PROVISIONING_EMAIL_ADDRESS);
 
         params.mLocalTime = intent.getLongExtra(EXTRA_PROVISIONING_LOCAL_TIME,
                 ProvisioningParams.DEFAULT_LOCAL_TIME);
@@ -277,6 +291,12 @@
 
         params.mWifiHidden = intent.getBooleanExtra(EXTRA_PROVISIONING_WIFI_HIDDEN,
                 ProvisioningParams.DEFAULT_WIFI_HIDDEN);
+        params.mStartedByNfc = intent.getBooleanExtra(EXTRA_PROVISIONING_STARTED_BY_NFC,
+                false);
+        params.mLeaveAllSystemAppsEnabled = intent.getBooleanExtra(
+                EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED,
+                ProvisioningParams.DEFAULT_LEAVE_ALL_SYSTEM_APPS_ENABLED);
+
         try {
             params.mAdminExtrasBundle = (PersistableBundle) intent.getParcelableExtra(
                     EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE);
diff --git a/src/com/android/managedprovisioning/PreBootListener.java b/src/com/android/managedprovisioning/PreBootListener.java
new file mode 100644
index 0000000..151ef9a
--- /dev/null
+++ b/src/com/android/managedprovisioning/PreBootListener.java
@@ -0,0 +1,111 @@
+/*
+ * Copyright 2014, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.managedprovisioning;
+
+import android.app.admin.DevicePolicyManager;
+import android.content.pm.PackageManager;
+import android.content.pm.UserInfo;
+import android.content.BroadcastReceiver;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.UserInfo;
+import android.os.UserHandle;
+import android.os.UserManager;
+
+import com.android.managedprovisioning.task.DeleteNonRequiredAppsTask;
+
+import java.util.List;
+
+/**
+ * After a system update, this class resets the cross-profile intent filters and checks
+ * if apps that have been added to the system image need to be deleted.
+ */
+public class PreBootListener extends BroadcastReceiver {
+    @Override
+    public void onReceive(Context context, Intent intent) {
+        if (context.getUserId() != UserHandle.USER_OWNER) {
+            return;
+        }
+
+        DevicePolicyManager dpm = (DevicePolicyManager) context.getSystemService(
+                Context.DEVICE_POLICY_SERVICE);
+        PackageManager pm = context.getPackageManager();
+
+        // Check for device owner.
+        if (dpm.getDeviceOwner() != null && DeleteNonRequiredAppsTask
+                    .shouldDeleteNonRequiredApps(context, UserHandle.USER_OWNER)) {
+
+            // Delete new apps.
+                deleteNonRequiredApps(context, dpm.getDeviceOwner(), UserHandle.USER_OWNER,
+                        R.array.required_apps_managed_device,
+                        R.array.vendor_required_apps_managed_device,
+                        false /* Do not disable INSTALL_SHORTCUT listeners */);
+        }
+
+        // Check for managed profiles.
+        UserManager um = (UserManager) context.getSystemService(Context.USER_SERVICE);
+        List<UserInfo> profiles = um.getProfiles(UserHandle.USER_OWNER);
+        if (profiles.size() <= 1) {
+            return;
+        }
+
+        // Removes cross profile intent filters from the parent to all the managed profiles.
+        pm.clearCrossProfileIntentFilters(UserHandle.USER_OWNER);
+
+        // For each managed profile reset cross profile intent filters and delete new apps.
+        for (UserInfo userInfo : profiles) {
+            if (!userInfo.isManagedProfile()) {
+                continue;
+            }
+            pm.clearCrossProfileIntentFilters(userInfo.id);
+            CrossProfileIntentFiltersHelper.setFilters(
+                    pm, UserHandle.USER_OWNER, userInfo.id);
+
+            ComponentName profileOwner = dpm.getProfileOwnerAsUser(userInfo.id);
+            if (profileOwner == null) {
+                // Shouldn't happen.
+                ProvisionLogger.loge("No profile owner on managed profile " + userInfo.id);
+                continue;
+            }
+            deleteNonRequiredApps(context, profileOwner.getPackageName(), userInfo.id,
+                    R.array.required_apps_managed_profile,
+                    R.array.vendor_required_apps_managed_profile,
+                    true /* Disable INSTALL_SHORTCUT listeners */);
+        }
+    }
+
+    private void deleteNonRequiredApps(Context context, String mdmPackageName, int userId,
+            int requiredAppsList, int vendorRequiredAppsList,
+            boolean disableInstallShortcutListeners) {
+        new DeleteNonRequiredAppsTask(context, mdmPackageName, userId,
+                requiredAppsList, vendorRequiredAppsList,
+                false /*we are not creating a new profile*/,
+                disableInstallShortcutListeners,
+                new DeleteNonRequiredAppsTask.Callback() {
+
+                    @Override
+                    public void onSuccess() {
+                    }
+
+                    @Override
+                    public void onError() {
+                        ProvisionLogger.loge("Error while checking if there are new system "
+                                + "apps that need to be deleted");
+                    }
+                }).run();
+    }
+}
diff --git a/src/com/android/managedprovisioning/ManagedProvisioningActivity.java b/src/com/android/managedprovisioning/ProfileOwnerPreProvisioningActivity.java
similarity index 65%
rename from src/com/android/managedprovisioning/ManagedProvisioningActivity.java
rename to src/com/android/managedprovisioning/ProfileOwnerPreProvisioningActivity.java
index 4d140ff..cd3ddb7 100644
--- a/src/com/android/managedprovisioning/ManagedProvisioningActivity.java
+++ b/src/com/android/managedprovisioning/ProfileOwnerPreProvisioningActivity.java
@@ -23,7 +23,9 @@
 import static com.android.managedprovisioning.EncryptDeviceActivity.TARGET_PROFILE_OWNER;
 
 import android.app.Activity;
+import android.app.admin.DevicePolicyManager;
 import android.app.AlertDialog;
+import android.app.ProgressDialog;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
 import android.content.Context;
@@ -54,90 +56,63 @@
 import java.util.List;
 
 /**
- * Managed provisioning sets up a separate profile on a device whose primary user is already set up.
- * The typical example is setting up a corporate profile that is controlled by their employer on a
- * users personal device to keep personal and work data separate.
- *
- * The activity handles the input validation and UI for managed profile provisioning.
- * and starts the {@link ManagedProvisioningService}, which runs through the setup steps in an
- * async task.
+ * The activity sets up the environment in which the {@link ProfileOwnerProvisioningActivity} can be run.
+ * It makes sure the device is encrypted, the current launcher supports managed profiles, the
+ * provisioning intent extras are valid, and that the already present managed profile is removed.
  */
-// TODO: Proper error handling to report back to the user and potentially the mdm.
-public class ManagedProvisioningActivity extends Activity {
+public class ProfileOwnerPreProvisioningActivity extends Activity
+        implements UserConsentDialog.ConsentCallback {
 
     private static final String MANAGE_USERS_PERMISSION = "android.permission.MANAGE_USERS";
 
     // Note: must match the constant defined in HomeSettings
     private static final String EXTRA_SUPPORT_MANAGED_PROFILES = "support_managed_profiles";
 
-    protected static final String EXTRA_USER_HAS_CONSENTED_PROVISIONING =
-            "com.android.managedprovisioning.EXTRA_USER_HAS_CONSENTED_PROVISIONING";
-
-    // TODO remove these when the new constant values are in use in all relevant places.
-    protected static final String EXTRA_LEGACY_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME =
-            "deviceAdminPackageName";
-    protected static final String EXTRA_LEGACY_PROVISIONING_DEFAULT_MANAGED_PROFILE_NAME =
-            "defaultManagedProfileName";
-
-    // Aliases to start managed provisioning with and without MANAGE_USERS permission
+    // Aliases to start profile owner provisioning with and without MANAGE_USERS permission
     protected static final ComponentName ALIAS_CHECK_CALLER =
             new ComponentName("com.android.managedprovisioning",
-                    "com.android.managedprovisioning.ManagedProvisioningActivity");
+                    "com.android.managedprovisioning.ProfileOwnerProvisioningActivity");
 
     protected static final ComponentName ALIAS_NO_CHECK_CALLER =
             new ComponentName("com.android.managedprovisioning",
-                    "com.android.managedprovisioning.ManagedProvisioningActivityNoCallerCheck");
+                    "com.android.managedprovisioning.ProfileOwnerProvisioningActivityNoCallerCheck");
 
+    protected static final int PROVISIONING_REQUEST_CODE = 3;
     protected static final int ENCRYPT_DEVICE_REQUEST_CODE = 2;
     protected static final int CHANGE_LAUNCHER_REQUEST_CODE = 1;
 
     private String mMdmPackageName;
-    private BroadcastReceiver mServiceMessageReceiver;
-
-    private View mContentView;
-    private View mMainTextView;
-    private View mProgressView;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
-        ProvisionLogger.logd("Managed provisioning activity ONCREATE");
-
         final LayoutInflater inflater = getLayoutInflater();
-        mContentView = inflater.inflate(R.layout.user_consent, null);
-        mMainTextView = mContentView.findViewById(R.id.main_text_container);
-        mProgressView = mContentView.findViewById(R.id.progress_container);
-        setContentView(mContentView);
+        View contentView = inflater.inflate(R.layout.user_consent, null);
+        setContentView(contentView);
 
         // Check whether system has the required managed profile feature.
         if (!systemHasManagedProfileFeature()) {
             showErrorAndClose(R.string.managed_provisioning_not_supported,
-                    "Exiting managed provisioning, managed profiles feature is not available");
+                    "Exiting managed profile provisioning, "
+                    + "managed profiles feature is not available");
             return;
         }
         if (Process.myUserHandle().getIdentifier() != UserHandle.USER_OWNER) {
             showErrorAndClose(R.string.user_is_not_owner,
-                    "Exiting managed provisioning, calling user is not owner.");
+                    "Exiting managed profile provisioning, calling user is not owner.");
             return;
         }
 
-        // Setup broadcast receiver for feedback from service.
-        mServiceMessageReceiver = new ServiceMessageReceiver();
-        IntentFilter filter = new IntentFilter();
-        filter.addAction(ManagedProvisioningService.ACTION_PROVISIONING_SUCCESS);
-        filter.addAction(ManagedProvisioningService.ACTION_PROVISIONING_ERROR);
-        LocalBroadcastManager.getInstance(this).registerReceiver(mServiceMessageReceiver, filter);
-
         // Initialize member variables from the intent, stop if the intent wasn't valid.
         try {
             initialize(getIntent());
-        } catch (ManagedProvisioningFailedException e) {
+        } catch (ProvisioningFailedException e) {
             showErrorAndClose(R.string.managed_provisioning_error_text, e.getMessage());
             return;
         }
 
-        setMdmIcon(mMdmPackageName, mContentView);
+        setMdmIcon(mMdmPackageName);
 
         // If the caller started us via ALIAS_NO_CHECK_CALLER then they must have permission to
         // MANAGE_USERS since it is a restricted intent. Otherwise, check the calling package.
@@ -160,6 +135,15 @@
             }
         }
 
+        DevicePolicyManager dpm =
+                (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
+        String deviceOwner = dpm.getDeviceOwner();
+        if (deviceOwner != null && !deviceOwner.equals(mMdmPackageName)) {
+            showErrorAndClose(R.string.managed_provisioning_error_text, "Permission denied, "
+                    + "profile owner must be in the same package as device owner.");
+            return;
+        }
+
         // If there is already a managed profile, allow the user to cancel or delete it.
         int existingManagedProfileUserId = alreadyHasManagedProfile();
         if (existingManagedProfileUserId != -1) {
@@ -170,7 +154,7 @@
     }
 
     private void showStartProvisioningScreen() {
-        Button positiveButton = (Button) mContentView.findViewById(R.id.positive_button);
+        Button positiveButton = (Button) findViewById(R.id.positive_button);
         positiveButton.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -180,18 +164,13 @@
     }
 
     private boolean packageHasManageUsersPermission(String pkg) {
-        int packagePermission = this.getPackageManager()
+        return PackageManager.PERMISSION_GRANTED == getPackageManager()
                 .checkPermission(MANAGE_USERS_PERMISSION, pkg);
-        if (packagePermission == PackageManager.PERMISSION_GRANTED) {
-            return true;
-        } else {
-            return false;
-        }
     }
 
     private boolean systemHasManagedProfileFeature() {
         PackageManager pm = getPackageManager();
-        return pm.hasSystemFeature(PackageManager.FEATURE_MANAGED_PROFILES);
+        return pm.hasSystemFeature(PackageManager.FEATURE_MANAGED_USERS);
     }
 
     private boolean currentLauncherSupportsManagedProfiles() {
@@ -201,6 +180,9 @@
         PackageManager pm = getPackageManager();
         ResolveInfo launcherResolveInfo
                 = pm.resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY);
+        if (launcherResolveInfo == null) {
+            return false;
+        }
         try {
             ApplicationInfo launcherAppInfo = getPackageManager().getApplicationInfo(
                     launcherResolveInfo.activityInfo.packageName, 0 /* default flags */);
@@ -211,42 +193,21 @@
     }
 
     private boolean versionNumberAtLeastL(int versionNumber) {
-        // TODO: remove "|| true" once the build code for L is fixed.
-        return versionNumber >= Build.VERSION_CODES.L || true;
+        return versionNumber >= Build.VERSION_CODES.LOLLIPOP;
     }
 
-    class ServiceMessageReceiver extends BroadcastReceiver {
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            String action = intent.getAction();
-            if (action.equals(ManagedProvisioningService.ACTION_PROVISIONING_SUCCESS)) {
-                ProvisionLogger.logd("Successfully provisioned");
-                ManagedProvisioningActivity.this.setResult(Activity.RESULT_OK);
-                ManagedProvisioningActivity.this.finish();
-                return;
-            } else if (action.equals(ManagedProvisioningService.ACTION_PROVISIONING_ERROR)) {
-                String errorLogMessage = intent.getStringExtra(
-                        ManagedProvisioningService.EXTRA_LOG_MESSAGE_KEY);
-                ProvisionLogger.logd("Error reported: " + errorLogMessage);
-                showErrorAndClose(R.string.managed_provisioning_error_text, errorLogMessage);
-                return;
-            }
-        }
-    }
-
-    private void setMdmIcon(String packageName, View contentView) {
+    private void setMdmIcon(String packageName) {
         if (packageName != null) {
             PackageManager pm = getPackageManager();
             try {
                 ApplicationInfo ai = pm.getApplicationInfo(packageName, /* default flags */ 0);
                 if (ai != null) {
                     Drawable packageIcon = pm.getApplicationIcon(packageName);
-                    ImageView imageView = (ImageView) contentView.findViewById(R.id.mdm_icon_view);
+                    ImageView imageView = (ImageView) findViewById(R.id.mdm_icon_view);
                     imageView.setImageDrawable(packageIcon);
 
                     String appLabel = pm.getApplicationLabel(ai).toString();
-                    TextView deviceManagerName = (TextView) contentView
-                            .findViewById(R.id.device_manager_name);
+                    TextView deviceManagerName = (TextView) findViewById(R.id.device_manager_name);
                     deviceManagerName.setText(appLabel);
                 }
             } catch (PackageManager.NameNotFoundException e) {
@@ -258,56 +219,37 @@
 
     /**
      * Checks if all required provisioning parameters are provided.
-     * Does not check for extras that are optional such as the email address.
+     * Does not check for extras that are optional such as wifi ssid.
      * Also checks whether type of admin extras bundle (if present) is PersistableBundle.
      *
      * @param intent The intent that started provisioning
      */
-    private void initialize(Intent intent) throws ManagedProvisioningFailedException {
+    private void initialize(Intent intent) throws ProvisioningFailedException {
         // Check if the admin extras bundle is of the right type.
         try {
             PersistableBundle bundle = (PersistableBundle) getIntent().getParcelableExtra(
                     EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE);
         } catch (ClassCastException e) {
-            throw new ManagedProvisioningFailedException("Extra "
+            throw new ProvisioningFailedException("Extra "
                     + EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE
                     + " must be of type PersistableBundle.", e);
         }
 
         // Validate package name and check if the package is installed
-        mMdmPackageName = getMdmPackageName(intent);
+        mMdmPackageName = intent.getStringExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME);
         if (TextUtils.isEmpty(mMdmPackageName)) {
-            throw new ManagedProvisioningFailedException("Missing intent extra: "
+            throw new ProvisioningFailedException("Missing intent extra: "
                     + EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME);
         } else {
             try {
                 this.getPackageManager().getPackageInfo(mMdmPackageName, 0);
             } catch (NameNotFoundException e) {
-                throw new ManagedProvisioningFailedException("Mdm "+ mMdmPackageName
+                throw new ProvisioningFailedException("Mdm "+ mMdmPackageName
                         + " is not installed. ", e);
             }
         }
     }
 
-    private String getMdmPackageName(Intent intent) {
-        String name = intent.getStringExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME);
-        if (TextUtils.isEmpty(name)) {
-            name = intent.getStringExtra(EXTRA_LEGACY_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME);
-        }
-        return name;
-    }
-
-    @Override
-    public void onBackPressed() {
-        // TODO: Handle this graciously by stopping the provisioning flow and cleaning up.
-    }
-
-    @Override
-    public void onDestroy() {
-        LocalBroadcastManager.getInstance(this).unregisterReceiver(mServiceMessageReceiver);
-        super.onDestroy();
-    }
-
     /**
      * If the device is encrypted start the service which does the provisioning, otherwise ask for
      * user consent to encrypt the device.
@@ -316,41 +258,10 @@
         if (EncryptDeviceActivity.isDeviceEncrypted()
                 || SystemProperties.getBoolean("persist.sys.no_req_encrypt", false)) {
 
-            String message = getString(R.string.admin_has_ability_to_monitor)  + "\n\n"
-                    + getString(R.string.contact_your_admin_for_more_info);
-
             // Notify the user once more that the admin will have full control over the profile,
             // then start provisioning.
-            new AlertDialog.Builder(ManagedProvisioningActivity.this)
-                    .setCancelable(false)
-                    .setMessage(message)
-                    .setPositiveButton(R.string.ok_setup,
-                            new DialogInterface.OnClickListener() {
-                                @Override
-                                public void onClick(DialogInterface dialog, int which) {
-                                    // Remove any pre-provisioning UI in favour of progress display
-                                    BootReminder.cancelProvisioningReminder(
-                                            ManagedProvisioningActivity.this);
-                                    mProgressView.setVisibility(View.VISIBLE);
-                                    mMainTextView.setVisibility(View.GONE);
-
-                                    // Check whether the current launcher supports managed profiles.
-                                    if (!currentLauncherSupportsManagedProfiles()) {
-                                        showCurrentLauncherInvalid();
-                                    } else {
-                                        startManagedProvisioningService();
-                                    }
-                                }
-                    })
-                    .setNegativeButton(R.string.cancel_setup,
-                            new DialogInterface.OnClickListener() {
-                                @Override
-                                public void onClick(DialogInterface dialog, int which) {
-                                    dialog.cancel();
-                                }
-                    })
-                    .show();
-
+            UserConsentDialog.newInstance(UserConsentDialog.PROFILE_OWNER)
+                    .show(getFragmentManager(), "UserConsentDialogFragment");
         } else {
             Bundle resumeExtras = getIntent().getExtras();
             resumeExtras.putString(EXTRA_RESUME_TARGET, TARGET_PROFILE_OWNER);
@@ -361,6 +272,28 @@
         }
     }
 
+    @Override
+    public void onDialogConsent() {
+        setupEnvironmentAndProvision();
+    }
+
+    @Override
+    public void onDialogCancel() {
+        // Do nothing.
+    }
+
+    private void setupEnvironmentAndProvision() {
+        // Remove any pre-provisioning UI in favour of progress display
+        BootReminder.cancelProvisioningReminder(this);
+
+        // Check whether the current launcher supports managed profiles.
+        if (!currentLauncherSupportsManagedProfiles()) {
+            showCurrentLauncherInvalid();
+        } else {
+            startProfileOwnerProvisioning();
+        }
+    }
+
     private void pickLauncher() {
         Intent changeLauncherIntent = new Intent("android.settings.HOME_SETTINGS");
         changeLauncherIntent.putExtra(EXTRA_SUPPORT_MANAGED_PROFILES, true);
@@ -368,10 +301,10 @@
         // Continue in onActivityResult.
     }
 
-    private void startManagedProvisioningService() {
-        Intent intent = new Intent(this, ManagedProvisioningService.class);
+    private void startProfileOwnerProvisioning() {
+        Intent intent = new Intent(this, ProfileOwnerProvisioningActivity.class);
         intent.putExtras(getIntent());
-        startService(intent);
+        startActivityForResult(intent, PROVISIONING_REQUEST_CODE);
     }
 
     @Override
@@ -386,9 +319,13 @@
             if (resultCode == RESULT_CANCELED) {
                 showCurrentLauncherInvalid();
             } else if (resultCode == RESULT_OK) {
-                startManagedProvisioningService();
+                startProfileOwnerProvisioning();
             }
         }
+        if (requestCode == PROVISIONING_REQUEST_CODE) {
+            setResult(resultCode);
+            finish();
+        }
     }
 
     private void showCurrentLauncherInvalid() {
@@ -415,8 +352,19 @@
 
     public void showErrorAndClose(int resourceId, String logText) {
         ProvisionLogger.loge(logText);
-        new ManagedProvisioningErrorDialog(getString(resourceId))
-              .show(getFragmentManager(), "ErrorDialogFragment");
+        new AlertDialog.Builder(this)
+                .setTitle(R.string.provisioning_error_title)
+                .setMessage(getString(resourceId))
+                .setCancelable(false)
+                .setPositiveButton(R.string.device_owner_error_ok, new DialogInterface.OnClickListener() {
+                        @Override
+                        public void onClick(DialogInterface dialog,int id) {
+                            // Close activity
+                            ProfileOwnerPreProvisioningActivity.this
+                                    .setResult(Activity.RESULT_CANCELED);
+                            ProfileOwnerPreProvisioningActivity.this.finish();
+                        }
+                    }).show();
     }
 
     /**
@@ -474,7 +422,7 @@
                 new DialogInterface.OnClickListener() {
             @Override
             public void onClick(DialogInterface dialog, int which) {
-                ManagedProvisioningActivity.this.finish();
+                ProfileOwnerPreProvisioningActivity.this.finish();
             }
         };
 
@@ -487,17 +435,17 @@
         return builder.create();
     }
     /**
-     * Exception thrown when the managed provisioning has failed completely.
+     * Exception thrown when the provisioning has failed completely.
      *
      * We're using a custom exception to avoid catching subsequent exceptions that might be
      * significant.
      */
-    private class ManagedProvisioningFailedException extends Exception {
-        public ManagedProvisioningFailedException(String message) {
+    private class ProvisioningFailedException extends Exception {
+        public ProvisioningFailedException(String message) {
             super(message);
         }
 
-        public ManagedProvisioningFailedException(String message, Throwable t) {
+        public ProvisioningFailedException(String message, Throwable t) {
             super(message, t);
         }
     }
diff --git a/src/com/android/managedprovisioning/ProfileOwnerProvisioningActivity.java b/src/com/android/managedprovisioning/ProfileOwnerProvisioningActivity.java
new file mode 100644
index 0000000..a785b09
--- /dev/null
+++ b/src/com/android/managedprovisioning/ProfileOwnerProvisioningActivity.java
@@ -0,0 +1,328 @@
+/*
+ * Copyright 2014, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning;
+
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE;
+
+import android.accounts.Account;
+import android.accounts.AccountManager;
+import android.accounts.AccountManagerFuture;
+import android.accounts.AuthenticatorException;
+import android.accounts.OperationCanceledException;
+import android.app.Activity;
+import android.app.ActivityManagerNative;
+import android.app.AlertDialog;
+import android.app.IActivityManager;
+import android.app.ProgressDialog;
+import android.content.BroadcastReceiver;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.os.AsyncTask;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.RemoteException;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.provider.Settings;
+import android.support.v4.content.LocalBroadcastManager;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.Button;
+import android.widget.TextView;
+
+import java.io.IOException;
+
+/**
+ * Profile owner provisioning sets up a separate profile on a device whose primary user is already
+ * set up.
+ *
+ * <p>
+ * The typical example is setting up a corporate profile that is controlled by their employer on a
+ * users personal device to keep personal and work data separate.
+ *
+ * <p>
+ * The activity handles the UI for managed profile provisioning and starts the
+ * {@link ProfileOwnerProvisioningService}, which runs through the setup steps in an
+ * async task.
+ */
+public class ProfileOwnerProvisioningActivity extends Activity {
+    protected static final String ACTION_CANCEL_PROVISIONING =
+            "com.android.managedprovisioning.CANCEL_PROVISIONING";
+
+    private BroadcastReceiver mServiceMessageReceiver;
+
+    // Provisioning service started
+    private static final int CANCELSTATUS_PROVISIONING = 1;
+    // Back button pressed during provisioning, confirm dialog showing.
+    private static final int CANCELSTATUS_CONFIRMING = 2;
+    // Cancel confirmed, waiting for the provisioning service to complete.
+    private static final int CANCELSTATUS_CANCELLING = 3;
+    // Cancelling not possible anymore, provisioning already finished succesfully.
+    private static final int CANCELSTATUS_FINALIZING = 4;
+
+    private static final String KEY_CANCELSTATUS= "cancelstatus";
+    private static final String KEY_PENDING_INTENT = "pending_intent";
+
+    private int mCancelStatus = CANCELSTATUS_PROVISIONING;
+    private Intent mPendingProvisioningResult = null;
+    private ProgressDialog mCancelProgressDialog = null;
+    private AccountManager mAccountManager;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        ProvisionLogger.logd("Profile owner provisioning activity ONCREATE");
+        mAccountManager = (AccountManager) getSystemService(Context.ACCOUNT_SERVICE);
+
+        if (savedInstanceState != null) {
+            mCancelStatus = savedInstanceState.getInt(KEY_CANCELSTATUS, CANCELSTATUS_PROVISIONING);
+            mPendingProvisioningResult = savedInstanceState.getParcelable(KEY_PENDING_INTENT);
+        }
+
+        final LayoutInflater inflater = getLayoutInflater();
+        View contentView = inflater.inflate(R.layout.progress, null);
+        setContentView(contentView);
+        TextView textView = (TextView) findViewById(R.id.prog_text);
+        if (textView != null) textView.setText(getString(R.string.setting_up_workspace));
+
+
+        if (mCancelStatus == CANCELSTATUS_CONFIRMING) {
+            showCancelProvisioningDialog();
+        } else if (mCancelStatus == CANCELSTATUS_CANCELLING) {
+            showCancelProgressDialog();
+        }
+    }
+
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+
+        // Setup broadcast receiver for feedback from service.
+        mServiceMessageReceiver = new ServiceMessageReceiver();
+        IntentFilter filter = new IntentFilter();
+        filter.addAction(ProfileOwnerProvisioningService.ACTION_PROVISIONING_SUCCESS);
+        filter.addAction(ProfileOwnerProvisioningService.ACTION_PROVISIONING_ERROR);
+        filter.addAction(ProfileOwnerProvisioningService.ACTION_PROVISIONING_CANCELLED);
+        LocalBroadcastManager.getInstance(this).registerReceiver(mServiceMessageReceiver, filter);
+
+        // Start service async to make sure the UI is loaded first.
+        final Handler handler = new Handler(getMainLooper());
+        handler.post(new Runnable() {
+                @Override
+                public void run() {
+                    Intent intent = new Intent(ProfileOwnerProvisioningActivity.this,
+                            ProfileOwnerProvisioningService.class);
+                    intent.putExtras(getIntent());
+                    startService(intent);
+                }
+            });
+    }
+
+    class ServiceMessageReceiver extends BroadcastReceiver {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            if (mCancelStatus == CANCELSTATUS_CONFIRMING) {
+                // Store the incoming intent and only process it after the user has responded to
+                // the cancel dialog
+                mPendingProvisioningResult = intent;
+                return;
+            }
+            handleProvisioningResult(intent);
+        }
+    }
+
+    private void handleProvisioningResult(Intent intent) {
+        String action = intent.getAction();
+        if (ProfileOwnerProvisioningService.ACTION_PROVISIONING_SUCCESS.equals(action)) {
+            if (mCancelStatus == CANCELSTATUS_CANCELLING) {
+                return;
+            }
+
+            ProvisionLogger.logd("Successfully provisioned."
+                    + "Finishing ProfileOwnerProvisioningActivity");
+
+            Intent pendingIntent = (Intent) intent.getParcelableExtra(
+                    ProfileOwnerProvisioningService.EXTRA_PENDING_SUCCESS_INTENT);
+            int serialNumber = intent.getIntExtra(
+                    ProfileOwnerProvisioningService.EXTRA_PROFILE_USER_SERIAL_NUMBER, -1);
+
+            int userId = intent.getIntExtra(ProfileOwnerProvisioningService.EXTRA_PROFILE_USER_ID,
+                    -1);
+            onProvisioningSuccess(pendingIntent, userId, serialNumber);
+        } else if (ProfileOwnerProvisioningService.ACTION_PROVISIONING_ERROR.equals(action)) {
+            if (mCancelStatus == CANCELSTATUS_CANCELLING){
+                return;
+            }
+            String errorLogMessage = intent.getStringExtra(
+                    ProfileOwnerProvisioningService.EXTRA_LOG_MESSAGE_KEY);
+            ProvisionLogger.logd("Error reported: " + errorLogMessage);
+            error(R.string.managed_provisioning_error_text, errorLogMessage);
+        } if (ProfileOwnerProvisioningService.ACTION_PROVISIONING_CANCELLED.equals(action)) {
+            if (mCancelStatus != CANCELSTATUS_CANCELLING) {
+                return;
+            }
+            mCancelProgressDialog.dismiss();
+            ProfileOwnerProvisioningActivity.this.setResult(Activity.RESULT_CANCELED);
+            stopService(new Intent(ProfileOwnerProvisioningActivity.this,
+                            ProfileOwnerProvisioningService.class));
+            ProfileOwnerProvisioningActivity.this.finish();
+        }
+    }
+
+    @Override
+    public void onBackPressed() {
+        if (mCancelStatus == CANCELSTATUS_PROVISIONING) {
+            showCancelProvisioningDialog();
+        }
+    }
+
+    private void showCancelProvisioningDialog() {
+        mCancelStatus = CANCELSTATUS_CONFIRMING;
+        AlertDialog alertDialog = new AlertDialog.Builder(this)
+                        .setCancelable(false)
+                        .setTitle(R.string.profile_owner_cancel_title)
+                        .setMessage(R.string.profile_owner_cancel_message)
+                        .setNegativeButton(R.string.profile_owner_cancel_cancel,
+                                new DialogInterface.OnClickListener() {
+                                    @Override
+                                    public void onClick(DialogInterface dialog,int id) {
+                                        mCancelStatus = CANCELSTATUS_PROVISIONING;
+                                        if (mPendingProvisioningResult != null) {
+                                            handleProvisioningResult(mPendingProvisioningResult);
+                                        }
+                                    }
+                        })
+                        .setPositiveButton(R.string.profile_owner_cancel_ok,
+                                new DialogInterface.OnClickListener() {
+                                    @Override
+                                    public void onClick(DialogInterface dialog,int id) {
+                                        confirmCancel();
+                                    }
+                        })
+                        .create();
+        alertDialog.show();
+    }
+
+    protected void showCancelProgressDialog() {
+        mCancelProgressDialog = new ProgressDialog(this);
+        mCancelProgressDialog.setMessage(getText(R.string.profile_owner_cancelling));
+        mCancelProgressDialog.setCancelable(false);
+        mCancelProgressDialog.setCanceledOnTouchOutside(false);
+        mCancelProgressDialog.show();
+    }
+
+    public void error(int resourceId, String logText) {
+        ProvisionLogger.loge(logText);
+        new AlertDialog.Builder(this)
+                .setTitle(R.string.provisioning_error_title)
+                .setMessage(getString(resourceId))
+                .setCancelable(false)
+                .setPositiveButton(R.string.device_owner_error_ok, new DialogInterface.OnClickListener() {
+                        @Override
+                        public void onClick(DialogInterface dialog,int id) {
+                            confirmCancel();
+                        }
+                    }).show();
+    }
+
+    private void confirmCancel() {
+        mCancelStatus = CANCELSTATUS_CANCELLING;
+        Intent intent = new Intent(ProfileOwnerProvisioningActivity.this,
+                ProfileOwnerProvisioningService.class);
+        intent.setAction(ACTION_CANCEL_PROVISIONING);
+        startService(intent);
+        showCancelProgressDialog();
+    }
+
+    /**
+     * Notify the mdm that provisioning has completed. When the mdm has received the intent, stop
+     * the service and notify the {@link ProfileOwnerProvisioningActivity} so that it can finish itself.
+     */
+    private void onProvisioningSuccess(Intent pendingSuccessIntent, int userId, int serialNumber) {
+        mCancelStatus = CANCELSTATUS_FINALIZING;
+        Settings.Secure.putIntForUser(getContentResolver(), Settings.Secure.USER_SETUP_COMPLETE,
+                1 /* true- > setup complete */, userId);
+
+        UserManager userManager = (UserManager) getSystemService(Context.USER_SERVICE);
+        UserHandle userHandle = userManager.getUserForSerialNumber(serialNumber);
+
+        // Use an ordered broadcast, so that we only finish when the mdm has received it.
+        // Avoids a lag in the transition between provisioning and the mdm.
+        BroadcastReceiver mdmReceivedSuccessReceiver = new BroadcastReceiver() {
+            @Override
+            public void onReceive(Context context, Intent intent) {
+                ProvisionLogger.logd("ACTION_PROFILE_PROVISIONING_COMPLETE broadcast received by"
+                        + " mdm");
+                ProfileOwnerProvisioningActivity.this.setResult(Activity.RESULT_OK);
+
+                // Now cleanup the primary profile if necessary
+                if (getIntent().hasExtra(EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE)) {
+                    ProvisionLogger.logd("Cleaning up account from the primary user.");
+                    final Account account = (Account) getIntent().getParcelableExtra(
+                            EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE);
+                    new AsyncTask<Void, Void, Void>() {
+                        @Override
+                        protected Void doInBackground(Void... params) {
+                            removeAccount(account);
+                            return null;
+                        }
+                    }.execute();
+                }
+
+                ProfileOwnerProvisioningActivity.this.finish();
+                stopService(new Intent(ProfileOwnerProvisioningActivity.this,
+                                ProfileOwnerProvisioningService.class));
+            }
+        };
+
+        sendOrderedBroadcastAsUser(pendingSuccessIntent, userHandle, null,
+                mdmReceivedSuccessReceiver, null, Activity.RESULT_OK, null, null);
+        ProvisionLogger.logd("Provisioning complete broadcast has been sent to user "
+            + userHandle.getIdentifier());
+    }
+
+    private void removeAccount(Account account) {
+        try {
+            AccountManagerFuture<Bundle> bundle = mAccountManager.removeAccount(account,
+                    this, null /* callback */, null /* handler */);
+            if (bundle.getResult().getBoolean(AccountManager.KEY_BOOLEAN_RESULT, false)) {
+                ProvisionLogger.logw("Account removed from the primary user.");
+            } else {
+                ProvisionLogger.logw("Could not remove account from the primary user.");
+            }
+        } catch (OperationCanceledException | AuthenticatorException | IOException e) {
+            ProvisionLogger.logw("Exception removing account from the primary user.", e);
+        }
+    }
+
+    @Override
+    protected void onSaveInstanceState(Bundle outState) {
+        outState.putInt(KEY_CANCELSTATUS, mCancelStatus);
+        outState.putParcelable(KEY_PENDING_INTENT, mPendingProvisioningResult);
+    }
+
+    @Override
+    public void onPause() {
+        LocalBroadcastManager.getInstance(this).unregisterReceiver(mServiceMessageReceiver);
+        super.onPause();
+    }
+}
+
diff --git a/src/com/android/managedprovisioning/ProfileOwnerProvisioningService.java b/src/com/android/managedprovisioning/ProfileOwnerProvisioningService.java
new file mode 100644
index 0000000..44a6048
--- /dev/null
+++ b/src/com/android/managedprovisioning/ProfileOwnerProvisioningService.java
@@ -0,0 +1,419 @@
+/*
+ * Copyright 2014, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning;
+
+import static android.app.admin.DeviceAdminReceiver.ACTION_PROFILE_PROVISIONING_COMPLETE;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME;
+import static android.Manifest.permission.BIND_DEVICE_ADMIN;
+
+import android.accounts.Account;
+import android.accounts.AccountManager;
+import android.accounts.AuthenticatorException;
+import android.accounts.OperationCanceledException;
+import android.app.Activity;
+import android.app.ActivityManagerNative;
+import android.app.IActivityManager;
+import android.app.Service;
+import android.app.admin.DevicePolicyManager;
+import android.content.BroadcastReceiver;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.content.pm.IPackageManager;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.PackageManager.NameNotFoundException;
+import android.content.pm.UserInfo;
+import android.os.AsyncTask;
+import android.os.IBinder;
+import android.os.Parcelable;
+import android.os.PersistableBundle;
+import android.os.Process;
+import android.os.RemoteException;
+import android.os.ServiceManager;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.provider.MediaStore;
+import android.support.v4.content.LocalBroadcastManager;
+import android.text.TextUtils;
+
+import com.android.managedprovisioning.CrossProfileIntentFiltersHelper;
+import com.android.managedprovisioning.task.DeleteNonRequiredAppsTask;
+
+import java.io.IOException;
+
+/**
+ * Service that runs the profile owner provisioning.
+ *
+ * <p>This service is started from and sends updates to the {@link ProfileOwnerProvisioningActivity},
+ * which contains the provisioning UI.
+ */
+public class ProfileOwnerProvisioningService extends Service {
+    // Extra keys for reporting back success to the activity.
+    public static final String EXTRA_PROFILE_USER_ID =
+            "com.android.managedprovisioning.extra.profile_user_id";
+    public static final String EXTRA_PROFILE_USER_SERIAL_NUMBER =
+            "com.android.managedprovisioning.extra.profile_user_serial_number";
+    public static final String EXTRA_PENDING_SUCCESS_INTENT =
+            "com.android.managedprovisioning.extra.pending_success_intent";
+
+    // Intent actions for communication with DeviceOwnerProvisioningService.
+    public static final String ACTION_PROVISIONING_SUCCESS =
+            "com.android.managedprovisioning.provisioning_success";
+    public static final String ACTION_PROVISIONING_ERROR =
+            "com.android.managedprovisioning.error";
+    public static final String ACTION_PROVISIONING_CANCELLED =
+            "com.android.managedprovisioning.cancelled";
+    public static final String EXTRA_LOG_MESSAGE_KEY = "ProvisioingErrorLogMessage";
+
+    private String mMdmPackageName;
+    private ComponentName mActiveAdminComponentName;
+
+    // PersistableBundle extra received in starting intent.
+    // Should be passed through to device management application when provisioning is complete.
+    private PersistableBundle mAdminExtrasBundle;
+    private Account mAccountToMigrate;
+
+    private IPackageManager mIpm;
+    private UserInfo mManagedProfileUserInfo;
+    private AccountManager mAccountManager;
+    private UserManager mUserManager;
+
+    private int mStartIdProvisioning;
+    private AsyncTask<Intent, Void, Void> runnerTask;
+
+    // MessageId of the last error message.
+    private String mLastErrorMessage = null;
+
+    private boolean mDone = false;
+    private boolean mCancelInFuture = false;
+
+    private class RunnerTask extends AsyncTask<Intent, Void, Void> {
+        @Override
+        protected Void doInBackground(Intent ... intents) {
+            initialize(intents[0]);
+            startManagedProfileProvisioning();
+            return null;
+        }
+    }
+
+    @Override
+    public void onCreate() {
+        super.onCreate();
+
+        mIpm = IPackageManager.Stub.asInterface(ServiceManager.getService("package"));
+        mAccountManager = (AccountManager) getSystemService(Context.ACCOUNT_SERVICE);
+        mUserManager = (UserManager) getSystemService(Context.USER_SERVICE);
+
+        runnerTask = new RunnerTask();
+    }
+
+    @Override
+    public int onStartCommand(final Intent intent, int flags, int startId) {
+        if (ProfileOwnerProvisioningActivity.ACTION_CANCEL_PROVISIONING.equals(intent.getAction())) {
+            ProvisionLogger.logd("Cancelling profile owner provisioning service");
+            cancelProvisioning();
+            return START_NOT_STICKY;
+        }
+
+        ProvisionLogger.logd("Starting profile owner provisioning service");
+
+        try {
+            runnerTask.execute(intent);
+        } catch (IllegalStateException e) {
+            // runnerTask is either in progress, or finished.
+            ProvisionLogger.logd(
+                    "ProfileOwnerProvisioningService: Provisioning already started, "
+                    + "second provisioning intent not being processed, only reporting status.");
+            reportStatus();
+        }
+        return START_NOT_STICKY;
+    }
+
+    private void reportStatus() {
+        if (mLastErrorMessage != null) {
+            sendError();
+        }
+        synchronized (this) {
+            if (mDone) {
+                notifyActivityOfSuccess();
+            }
+        }
+    }
+
+    private void cancelProvisioning() {
+        synchronized (this) {
+            if (!mDone) {
+                mCancelInFuture = true;
+                return;
+            }
+            cleanup();
+        }
+    }
+
+    private void initialize(Intent intent) {
+        mMdmPackageName = intent.getStringExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME);
+        mAccountToMigrate = (Account) intent.getParcelableExtra(
+                EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE);
+        if (mAccountToMigrate != null) {
+            ProvisionLogger.logi("Migrating account to managed profile");
+        }
+
+        // Cast is guaranteed by check in Activity.
+        mAdminExtrasBundle  = (PersistableBundle) intent.getParcelableExtra(
+                EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE);
+
+        mActiveAdminComponentName = getAdminReceiverComponent(mMdmPackageName);
+    }
+
+    /**
+     * Find the Device admin receiver component from the manifest.
+     */
+    private ComponentName getAdminReceiverComponent(String packageName) {
+        ComponentName adminReceiverComponent = null;
+
+        try {
+            PackageInfo pi = getPackageManager().getPackageInfo(packageName,
+                    PackageManager.GET_RECEIVERS);
+            for (ActivityInfo ai : pi.receivers) {
+                if (!TextUtils.isEmpty(ai.permission) &&
+                        ai.permission.equals(BIND_DEVICE_ADMIN)) {
+                    adminReceiverComponent = new ComponentName(packageName, ai.name);
+
+                }
+            }
+        } catch (NameNotFoundException e) {
+            error("Error: The provided mobile device management package does not define a device"
+                    + "admin receiver component in its manifest.");
+        }
+        return adminReceiverComponent;
+    }
+
+    /**
+     * This is the core method of this class. It goes through every provisioning step.
+     */
+    private void startManagedProfileProvisioning() {
+
+        ProvisionLogger.logd("Starting managed profile provisioning");
+
+        // Work through the provisioning steps in their corresponding order
+        createProfile(getString(R.string.default_managed_profile_name));
+        if (mManagedProfileUserInfo != null) {
+            new DeleteNonRequiredAppsTask(this,
+                    mMdmPackageName, mManagedProfileUserInfo.id,
+                    R.array.required_apps_managed_profile,
+                    R.array.vendor_required_apps_managed_profile,
+                    true /* We are creating a new profile */,
+                    true /* Disable INSTALL_SHORTCUT listeners */,
+                    new DeleteNonRequiredAppsTask.Callback() {
+
+                        @Override
+                        public void onSuccess() {
+                            setUpProfileAndFinish();
+                        }
+
+                        @Override
+                        public void onError() {
+                            error("Delete non required apps task failed.");
+                        }
+                    }).run();
+        }
+    }
+
+    /**
+     * Called when the new profile is ready for provisioning (the profile is created and all the
+     * apps not needed have been deleted).
+     */
+    private void setUpProfileAndFinish() {
+        installMdmOnManagedProfile();
+        setMdmAsActiveAdmin();
+        setMdmAsManagedProfileOwner();
+        CrossProfileIntentFiltersHelper.setFilters(
+                getPackageManager(), getUserId(), mManagedProfileUserInfo.id);
+
+        if (!startManagedProfile(mManagedProfileUserInfo.id)) {
+            error("Could not start user in background");
+            return;
+        }
+        copyAccount(mAccountToMigrate);
+        synchronized (this) {
+            mDone = true;
+            if (mCancelInFuture) {
+                cleanup();
+            } else {
+                // Notify activity of success.
+                notifyActivityOfSuccess();
+            }
+        }
+    }
+
+    /**
+     * Initialize the user that underlies the managed profile.
+     * This is required so that the provisioning complete broadcast can be sent across to the
+     * profile and apps can run on it.
+     */
+    private boolean startManagedProfile(int userId)  {
+        ProvisionLogger.logd("Starting user in background");
+        IActivityManager iActivityManager = ActivityManagerNative.getDefault();
+        try {
+            return iActivityManager.startUserInBackground(userId);
+        } catch (RemoteException neverThrown) {
+            // Never thrown, as we are making local calls.
+            ProvisionLogger.loge("This should not happen.", neverThrown);
+        }
+        return false;
+    }
+
+    private void notifyActivityOfSuccess() {
+        // Compose the intent that will be fired by the activity.
+        Intent completeIntent = new Intent(ACTION_PROFILE_PROVISIONING_COMPLETE);
+        completeIntent.setComponent(mActiveAdminComponentName);
+        completeIntent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES |
+                Intent.FLAG_RECEIVER_FOREGROUND);
+        if (mAdminExtrasBundle != null) {
+            completeIntent.putExtra(EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE,
+                    mAdminExtrasBundle);
+        }
+
+        Intent successIntent = new Intent(ACTION_PROVISIONING_SUCCESS);
+        successIntent.putExtra(EXTRA_PROFILE_USER_ID, mManagedProfileUserInfo.id);
+        successIntent.putExtra(EXTRA_PENDING_SUCCESS_INTENT, completeIntent);
+        successIntent.putExtra(EXTRA_PROFILE_USER_SERIAL_NUMBER,
+                mManagedProfileUserInfo.serialNumber);
+        LocalBroadcastManager.getInstance(ProfileOwnerProvisioningService.this)
+                .sendBroadcast(successIntent);
+    }
+
+    private void copyAccount(Account account) {
+        if (account == null) {
+            ProvisionLogger.logd("No account to migrate to the managed profile.");
+            return;
+        }
+        ProvisionLogger.logd("Attempting to copy account to user " + mManagedProfileUserInfo.id);
+        try {
+            if (mAccountManager.copyAccountToUser(account, mManagedProfileUserInfo.getUserHandle(),
+                    /* callback= */ null, /* handler= */ null).getResult()) {
+                ProvisionLogger.logi("Copied account to user " + mManagedProfileUserInfo.id);
+            } else {
+                ProvisionLogger.loge("Could not copy account to user "
+                        + mManagedProfileUserInfo.id);
+            }
+        } catch (OperationCanceledException | AuthenticatorException | IOException e) {
+            ProvisionLogger.logw("Exception copying account to user " + mManagedProfileUserInfo.id,
+                    e);
+        }
+    }
+
+    private void createProfile(String profileName) {
+
+        ProvisionLogger.logd("Creating managed profile with name " + profileName);
+
+        mManagedProfileUserInfo = mUserManager.createProfileForUser(profileName,
+                UserInfo.FLAG_MANAGED_PROFILE | UserInfo.FLAG_DISABLED,
+                Process.myUserHandle().getIdentifier());
+
+        if (mManagedProfileUserInfo == null) {
+            if (UserManager.getMaxSupportedUsers() == mUserManager.getUserCount()) {
+                error("Profile creation failed, maximum number of users reached.");
+            } else {
+                error("Couldn't create profile. Reason unknown.");
+            }
+        }
+    }
+
+    private void installMdmOnManagedProfile() {
+        ProvisionLogger.logd("Installing mobile device management app " + mMdmPackageName +
+              " on managed profile");
+
+        try {
+            int status = mIpm.installExistingPackageAsUser(
+                mMdmPackageName, mManagedProfileUserInfo.id);
+            switch (status) {
+              case PackageManager.INSTALL_SUCCEEDED:
+                  return;
+              case PackageManager.INSTALL_FAILED_USER_RESTRICTED:
+                  // Should not happen because we're not installing a restricted user
+                  error("Could not install mobile device management app on managed "
+                          + "profile because the user is restricted");
+              case PackageManager.INSTALL_FAILED_INVALID_URI:
+                  // Should not happen because we already checked
+                  error("Could not install mobile device management app on managed "
+                          + "profile because the package could not be found");
+              default:
+                  error("Could not install mobile device management app on managed "
+                          + "profile. Unknown status: " + status);
+            }
+        } catch (RemoteException neverThrown) {
+            // Never thrown, as we are making local calls.
+            ProvisionLogger.loge("This should not happen.", neverThrown);
+        }
+    }
+
+    private void setMdmAsManagedProfileOwner() {
+        ProvisionLogger.logd("Setting package " + mMdmPackageName + " as managed profile owner.");
+
+        DevicePolicyManager dpm =
+                (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
+        if (!dpm.setProfileOwner(mActiveAdminComponentName, mMdmPackageName,
+                mManagedProfileUserInfo.id)) {
+            ProvisionLogger.logw("Could not set profile owner.");
+            error("Could not set profile owner.");
+        }
+    }
+
+    private void setMdmAsActiveAdmin() {
+        ProvisionLogger.logd("Setting package " + mMdmPackageName + " as active admin.");
+
+        DevicePolicyManager dpm =
+                (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
+        dpm.setActiveAdmin(mActiveAdminComponentName, true /* refreshing*/,
+                mManagedProfileUserInfo.id);
+    }
+
+    private void error(String dialogMessage) {
+        mLastErrorMessage = dialogMessage;
+        sendError();
+    }
+
+    private void sendError() {
+        Intent intent = new Intent(ACTION_PROVISIONING_ERROR);
+        intent.putExtra(EXTRA_LOG_MESSAGE_KEY, mLastErrorMessage);
+        LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
+    }
+
+    /**
+     * Performs cleanup of the device on failure.
+     */
+    private void cleanup() {
+        // The only cleanup we need to do is remove the profile we created.
+        if (mManagedProfileUserInfo != null) {
+            ProvisionLogger.logd("Removing managed profile");
+            mUserManager.removeUser(mManagedProfileUserInfo.id);
+        }
+        Intent cancelIntent = new Intent(ACTION_PROVISIONING_CANCELLED);
+        LocalBroadcastManager.getInstance(ProfileOwnerProvisioningService.this)
+                .sendBroadcast(cancelIntent);
+    }
+
+    @Override
+    public IBinder onBind(Intent intent) {
+        return null;
+    }
+}
diff --git a/src/com/android/managedprovisioning/ProvisioningParams.java b/src/com/android/managedprovisioning/ProvisioningParams.java
index 25a096f..ab919d2 100644
--- a/src/com/android/managedprovisioning/ProvisioningParams.java
+++ b/src/com/android/managedprovisioning/ProvisioningParams.java
@@ -29,6 +29,7 @@
 public class ProvisioningParams implements Parcelable {
     public static final long DEFAULT_LOCAL_TIME = -1;
     public static final boolean DEFAULT_WIFI_HIDDEN = false;
+    public static final boolean DEFAULT_LEAVE_ALL_SYSTEM_APPS_ENABLED = false;
     public static final int DEFAULT_WIFI_PROXY_PORT = 0;
 
     public String mTimeZone;
@@ -50,10 +51,12 @@
     public String mDeviceAdminPackageDownloadCookieHeader; // Cookie header for http request
     public byte[] mDeviceAdminPackageChecksum = new byte[0]; // SHA-1 sum of the .apk file.
 
-    public String mManagedDeviceEmailAddress;
-
     public PersistableBundle mAdminExtrasBundle;
 
+    public boolean mStartedByNfc; // True iff provisioning flow was started by Nfc bump.
+
+    public boolean mLeaveAllSystemAppsEnabled;
+
     public String getLocaleAsString() {
         if (mLocale != null) {
             return mLocale.getLanguage() + "_" + mLocale.getCountry();
@@ -89,8 +92,9 @@
         out.writeString(mDeviceAdminPackageDownloadCookieHeader);
         out.writeInt(mDeviceAdminPackageChecksum.length);
         out.writeByteArray(mDeviceAdminPackageChecksum);
-        out.writeString(mManagedDeviceEmailAddress);
         out.writeParcelable(mAdminExtrasBundle, 0 /* default */);
+        out.writeInt(mStartedByNfc ? 1 : 0);
+        out.writeInt(mLeaveAllSystemAppsEnabled ? 1 : 0);
     }
 
     public static final Parcelable.Creator<ProvisioningParams> CREATOR
@@ -102,7 +106,7 @@
             params.mLocalTime = in.readLong();
             params.mLocale = (Locale) in.readSerializable();
             params.mWifiSsid = in.readString();
-            params.mWifiHidden = in.readInt()==1;
+            params.mWifiHidden = in.readInt() == 1;
             params.mWifiSecurityType = in.readString();
             params.mWifiPassword = in.readString();
             params.mWifiProxyHost = in.readString();
@@ -114,8 +118,9 @@
             int checksumLength = in.readInt();
             params.mDeviceAdminPackageChecksum = new byte[checksumLength];
             in.readByteArray(params.mDeviceAdminPackageChecksum);
-            params.mManagedDeviceEmailAddress = in.readString();
             params.mAdminExtrasBundle = in.readParcelable(null /* use default classloader */);
+            params.mStartedByNfc = in.readInt() == 1;
+            params.mLeaveAllSystemAppsEnabled = in.readInt() == 1;
             return params;
         }
 
diff --git a/src/com/android/managedprovisioning/UserConsentDialog.java b/src/com/android/managedprovisioning/UserConsentDialog.java
new file mode 100644
index 0000000..47b390b
--- /dev/null
+++ b/src/com/android/managedprovisioning/UserConsentDialog.java
@@ -0,0 +1,132 @@
+/*
+ * Copyright 2014, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning;
+
+import android.app.Activity;
+import android.app.Dialog;
+import android.app.DialogFragment;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Bundle;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.view.Window;
+import android.view.WindowManager;
+import android.widget.TextView;
+import android.widget.Button;
+
+/**
+ * Dialog used to notify the user that the admin will have full control over the profile/device.
+ * Custom runnables can be passed that are run on consent or cancel.
+ */
+public class UserConsentDialog extends DialogFragment {
+    public static final int PROFILE_OWNER = 1;
+    public static final int DEVICE_OWNER = 2;
+
+    public static final String LEARN_MORE_URL_PROFILE_OWNER =
+            "https://support.google.com/android/work/answer/6090512";
+    // TODO: replace by the final device owner learn more link.
+    public static final String LEARN_MORE_URL_DEVICE_OWNER =
+            "https://support.google.com/android/work/answer/6090512";
+
+    // Only urls starting with this base can be visisted in the device owner case.
+    public static final String LEARN_MORE_ALLOWED_BASE_URL =
+            "https://support.google.com/";
+
+    private static final String KEY_OWNER_TYPE = "owner_type";
+
+    public static UserConsentDialog newInstance(int ownerType) {
+        UserConsentDialog dialog = new UserConsentDialog();
+        Bundle args = new Bundle();
+        args.putInt(KEY_OWNER_TYPE, ownerType);
+        dialog.setArguments(args);
+        return dialog;
+    }
+
+    @Override
+    public Dialog onCreateDialog(Bundle savedInstanceState) {
+        int ownerType = getArguments().getInt(KEY_OWNER_TYPE);
+        if (ownerType != PROFILE_OWNER && ownerType != DEVICE_OWNER) {
+            throw new IllegalArgumentException("Illegal value for argument ownerType.");
+        }
+
+        final Dialog dialog = new Dialog(getActivity(), R.style.ManagedProvisioningDialogTheme);
+        dialog.setContentView(R.layout.learn_more_dialog);
+        dialog.setCanceledOnTouchOutside(false);
+
+        TextView text1 = (TextView) dialog.findViewById(R.id.learn_more_text1);
+        if (ownerType == PROFILE_OWNER) {
+            text1.setText(R.string.admin_has_ability_to_monitor_profile);
+        } else if (ownerType == DEVICE_OWNER) {
+            text1.setText(R.string.admin_has_ability_to_monitor_device);
+        }
+
+        TextView linkText = (TextView) dialog.findViewById(R.id.learn_more_link);
+        if (ownerType == PROFILE_OWNER) {
+            linkText.setOnClickListener(new OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        Intent browserIntent = new Intent(Intent.ACTION_VIEW,
+                                Uri.parse(LEARN_MORE_URL_PROFILE_OWNER));
+                        getActivity().startActivity(browserIntent);
+                    }
+                });
+        } else if (ownerType == DEVICE_OWNER) {
+            linkText.setOnClickListener(new OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        Intent webIntent = new Intent(getActivity(), WebActivity.class);
+                        webIntent.putExtra(WebActivity.EXTRA_URL, LEARN_MORE_URL_DEVICE_OWNER);
+                        webIntent.putExtra(WebActivity.EXTRA_ALLOWED_URL_BASE,
+                                LEARN_MORE_ALLOWED_BASE_URL);
+                        getActivity().startActivity(webIntent);
+                    }
+                });
+        }
+
+        Button positiveButton = (Button) dialog.findViewById(R.id.positive_button);
+        positiveButton.setOnClickListener(new OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    dialog.dismiss();
+                    ((ConsentCallback) getActivity()).onDialogConsent();
+                }
+            });
+
+        Button negativeButton = (Button) dialog.findViewById(R.id.negative_button);
+        negativeButton.setOnClickListener(new OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    dialog.dismiss();
+                    ((ConsentCallback) getActivity()).onDialogCancel();
+                }
+            });
+
+        return dialog;
+    }
+
+    @Override
+    public void onCancel(DialogInterface dialog) {
+        ((ConsentCallback) getActivity()).onDialogCancel();
+    }
+
+    public interface ConsentCallback {
+        public abstract void onDialogConsent();
+        public abstract void onDialogCancel();
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/managedprovisioning/WebActivity.java b/src/com/android/managedprovisioning/WebActivity.java
new file mode 100644
index 0000000..81779dd
--- /dev/null
+++ b/src/com/android/managedprovisioning/WebActivity.java
@@ -0,0 +1,69 @@
+/*
+ * Copyright 2014, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.managedprovisioning;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
+
+/**
+ * This activity shows a web view, which loads the {@link #EXTRA_URL} indicated in the starting
+ * intent. By default the user can click on links and load other urls. However, if the
+ * {@link EXTRA_ALLOWED_URL_BASE} is set in the starting intent, then only url starting with the
+ * allowed url base will be loaded.
+ *
+ * <p>
+ * This activity is currently used by the {@link UserConsentDialog} to display the google support
+ * web page about the Device Owner concept.
+ * </p>
+ */
+public class WebActivity extends Activity {
+    public static final String EXTRA_URL = "extra_url";
+
+    // Users can only browse urls starting with the base specified by the following extra.
+    // If this extra is not used, there are no restrictions on browsable urls.
+    public static final String EXTRA_ALLOWED_URL_BASE = "extra_allowed_url_base";
+
+    private WebView mWebView;
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        mWebView = new WebView(this);
+        final String extraUrl = getIntent().getStringExtra(EXTRA_URL);
+        final String extraAllowedUrlBase = getIntent().getStringExtra(EXTRA_ALLOWED_URL_BASE);
+        if (extraUrl == null) {
+            ProvisionLogger.loge("No url provided to WebActivity.");
+            finish();
+            return;
+        }
+        mWebView.loadUrl(extraUrl);
+        mWebView.setWebViewClient(new WebViewClient() {
+                @Override
+                public boolean shouldOverrideUrlLoading(WebView view, String url) {
+                    if (extraAllowedUrlBase != null && url.startsWith(extraAllowedUrlBase)) {
+                        view.loadUrl(url);
+                    }
+                    return true;
+                }
+            });
+
+        this.setContentView(mWebView);
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/managedprovisioning/task/AddWifiNetworkTask.java b/src/com/android/managedprovisioning/task/AddWifiNetworkTask.java
index e5aec3b..4d8d89f 100644
--- a/src/com/android/managedprovisioning/task/AddWifiNetworkTask.java
+++ b/src/com/android/managedprovisioning/task/AddWifiNetworkTask.java
@@ -21,6 +21,9 @@
 import android.net.ConnectivityManager;
 import android.net.NetworkInfo;
 import android.net.wifi.WifiManager;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.Looper;
 import android.text.TextUtils;
 
 import java.lang.Thread;
@@ -36,6 +39,7 @@
     private static final int RETRY_SLEEP_DURATION_BASE_MS = 500;
     private static final int RETRY_SLEEP_MULTIPLIER = 2;
     private static final int MAX_RETRIES = 6;
+    private static final int RECONNECT_TIMEOUT_MS = 30000;
 
     private final Context mContext;
     private final String mSsid;
@@ -52,14 +56,23 @@
     private NetworkMonitor mNetworkMonitor;
     private WifiConfig mWifiConfig;
 
+    private Handler mHandler;
+    private boolean mTaskDone = false;
+
     private int mDurationNextSleep = RETRY_SLEEP_DURATION_BASE_MS;
     private int mRetriesLeft = MAX_RETRIES;
 
+    /**
+     * @throws IllegalArgumentException if the {@code ssid} parameter is empty.
+     */
     public AddWifiNetworkTask(Context context, String ssid, boolean hidden, String securityType,
             String password, String proxyHost, int proxyPort, String proxyBypassHosts,
             String pacUrl, Callback callback) {
         mCallback = callback;
         mContext = context;
+        if (TextUtils.isEmpty(ssid)) {
+            throw new IllegalArgumentException("The ssid must be non-empty.");
+        }
         mSsid = ssid;
         mHidden = hidden;
         mSecurityType = securityType;
@@ -70,6 +83,12 @@
         mPacUrl = pacUrl;
         mWifiManager  = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE);
         mWifiConfig = new WifiConfig(mWifiManager);
+
+        HandlerThread thread = new HandlerThread("Timeout thread",
+                android.os.Process.THREAD_PRIORITY_BACKGROUND);
+        thread.start();
+        Looper looper = thread.getLooper();
+        mHandler = new Handler(looper);
     }
 
     public void run() {
@@ -79,20 +98,13 @@
             return;
         }
 
-        mNetworkMonitor = new NetworkMonitor(mContext, this);
-
-        if (!isConnectedToWifi(mContext)) {
-            if (TextUtils.isEmpty(mSsid)) {
-                ProvisionLogger.loge("Wifi is supposed to be setup in activity," +
-                        " or a valid wifi ssid has to be specified.");
-                mCallback.onError();
-                return;
-            }
-
-            connectToProvidedNetwork();
-        } else {
+        if (isConnectedToSpecifiedWifi()) {
             mCallback.onSuccess();
+            return;
         }
+
+        mNetworkMonitor = new NetworkMonitor(mContext, this);
+        connectToProvidedNetwork();
     }
 
     private void connectToProvidedNetwork() {
@@ -118,43 +130,51 @@
                 mCallback.onError();
                 return;
             }
-        } else {
-            if (!mWifiManager.reconnect()) {
-                ProvisionLogger.loge("Unable to connect to wifi");
-                mCallback.onError();
-                return;
-            }
+        }
+
+        // Network was successfully saved, now connect to it.
+        if (!mWifiManager.reconnect()) {
+            ProvisionLogger.loge("Unable to connect to wifi");
+            mCallback.onError();
+            return;
         }
 
         // NetworkMonitor will call onNetworkConnected when in Wifi mode.
+        // Post time out event in case the NetworkMonitor doesn't call back.
+        mHandler.postDelayed(new Runnable() {
+                public void run(){
+                    synchronized(this) {
+                        if (mTaskDone) return;
+                        mTaskDone = true;
+                    }
+                    ProvisionLogger.loge("Setting up wifi connection timed out.");
+                    mCallback.onError();
+                    return;
+                }
+            }, RECONNECT_TIMEOUT_MS);
     }
 
     private boolean enableWifi() {
-        if (mWifiManager != null) {
-            int wifiState = mWifiManager.getWifiState();
-            boolean wifiOn = wifiState == WifiManager.WIFI_STATE_ENABLED;
-            if (!wifiOn) {
-                if (!mWifiManager.setWifiEnabled(true)) {
-                    return false;
-                } else {
-                    return true;
-                }
-            } else {
-                return true;
-            }
-        } else {
-            return false;
-        }
+        return mWifiManager != null
+                && (mWifiManager.isWifiEnabled() || mWifiManager.setWifiEnabled(true));
     }
 
     @Override
     public void onNetworkConnected() {
-        if (NetworkMonitor.isConnectedToWifi(mContext) &&
-                mWifiManager.getConnectionInfo().getSSID().equals(mSsid)) {
+        if (isConnectedToSpecifiedWifi()) {
+            synchronized(this) {
+                if (mTaskDone) return;
+                mTaskDone = true;
+            }
+
             ProvisionLogger.logd("Connected to the correct network");
-            mNetworkMonitor.close();
-            mNetworkMonitor = null;
+
+            // Remove time out callback.
+            mHandler.removeCallbacksAndMessages(null);
+
+            cleanUp();
             mCallback.onSuccess();
+            return;
         }
     }
 
@@ -170,6 +190,12 @@
         }
     }
 
+    private boolean isConnectedToSpecifiedWifi() {
+        return NetworkMonitor.isConnectedToWifi(mContext)
+                && mWifiManager.getConnectionInfo() != null
+                && mSsid.equals(mWifiManager.getConnectionInfo().getSSID());
+    }
+
     public static boolean isConnectedToWifi(Context context) {
         ConnectivityManager cm =
                 (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
diff --git a/src/com/android/managedprovisioning/task/DeleteNonRequiredAppsTask.java b/src/com/android/managedprovisioning/task/DeleteNonRequiredAppsTask.java
index 47e6a38..924ff25 100644
--- a/src/com/android/managedprovisioning/task/DeleteNonRequiredAppsTask.java
+++ b/src/com/android/managedprovisioning/task/DeleteNonRequiredAppsTask.java
@@ -16,20 +16,30 @@
 
 package com.android.managedprovisioning.task;
 
+import android.content.BroadcastReceiver;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
+import android.content.pm.ApplicationInfo;
 import android.content.pm.ComponentInfo;
 import android.content.pm.IPackageDeleteObserver;
 import android.content.pm.IPackageManager;
+import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.os.RemoteException;
 import android.os.ServiceManager;
+import android.util.Xml;
 
+import com.android.internal.util.FastXmlSerializer;
 import com.android.managedprovisioning.ProvisionLogger;
 import com.android.managedprovisioning.R;
 
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashSet;
@@ -37,12 +47,16 @@
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicInteger;
 
+import org.xmlpull.v1.XmlPullParser;
+import org.xmlpull.v1.XmlPullParserException;
+import org.xmlpull.v1.XmlSerializer;
+
 /**
- * Removes all apps with a launcher that are not required.
- * There are two decendants of this class:
- * {@link DeleteNonRequiredAppsTask} for profile owner provisioning,
- * and {@link DeleteNonRequiredAppsTask} for device owner provisioning.
- * The decendents specify which apps are required.
+ * Removes all system apps with a launcher that are not required.
+ * Also disables sharing via Bluetooth, and components that listen to
+ * ACTION_INSTALL_SHORTCUT.
+ * This class is called a first time when a user is created, but also after a system update.
+ * In this case, it checks if the system apps that have been added need to be disabled.
  */
 public class DeleteNonRequiredAppsTask {
     private final Callback mCallback;
@@ -53,9 +67,16 @@
     private final int mReqAppsList;
     private final int mVendorReqAppsList;
     private final int mUserId;
+    private final boolean mNewProfile; // If we are provisioning a new managed profile/device.
+    private final boolean mDisableInstallShortcutListenersAndTelecom;
+
+    private static final String TAG_SYSTEM_APPS = "system-apps";
+    private static final String TAG_PACKAGE_LIST_ITEM = "item";
+    private static final String ATTR_VALUE = "value";
 
     public DeleteNonRequiredAppsTask(Context context, String mdmPackageName, int userId,
-            int requiredAppsList, int vendorRequiredAppsList, Callback callback) {
+            int requiredAppsList, int vendorRequiredAppsList, boolean newProfile,
+            boolean disableInstallShortcutListenersAndTelecom, Callback callback) {
         mCallback = callback;
         mContext = context;
         mMdmPackageName = mdmPackageName;
@@ -64,20 +85,110 @@
         mPm = context.getPackageManager();
         mReqAppsList = requiredAppsList;
         mVendorReqAppsList = vendorRequiredAppsList;
+        mNewProfile = newProfile;
+        mDisableInstallShortcutListenersAndTelecom = disableInstallShortcutListenersAndTelecom;
     }
 
     public void run() {
-        ProvisionLogger.logd("Disabling non required components.");
-        List<ComponentName> toDisable = new ArrayList<ComponentName>();
+        if (mNewProfile) {
+            disableBluetoothSharing();
+        }
+        deleteNonRequiredApps();
+    }
 
-        // Adding sharing via nfc and bluetooth to the list
-        toDisable.add(new ComponentName("com.android.nfc", "com.android.nfc.BeamShareActivity"));
-        toDisable.add(new ComponentName("com.android.bluetooth",
+    /**
+     * Returns if this task should be run on OTA.
+     * This is indicated by the presence of the system apps file.
+     */
+    public static boolean shouldDeleteNonRequiredApps(Context context, int userId) {
+        return getSystemAppsFile(context, userId).exists();
+    }
+
+    private void disableBluetoothSharing() {
+        ProvisionLogger.logd("Disabling Bluetooth sharing.");
+        disableComponent(new ComponentName("com.android.bluetooth",
                 "com.android.bluetooth.opp.BluetoothOppLauncherActivity"));
+    }
 
-        // Adding the components that listen to INSTALL_SHORTCUT to the list
-        Intent installShortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
-        List<ResolveInfo> receivers = mPm.queryBroadcastReceivers(installShortcut, 0, mUserId);
+    private void deleteNonRequiredApps() {
+        ProvisionLogger.logd("Deleting non required apps.");
+
+        File systemAppsFile = getSystemAppsFile(mContext, mUserId);
+        systemAppsFile.getParentFile().mkdirs(); // Creating the folder if it does not exist
+
+        Set<String> currentApps = getCurrentSystemApps();
+        Set<String> previousApps;
+        if (mNewProfile) {
+            // Provisioning case.
+
+            // If this userId was a managed profile before, file may exist. In this case, we ignore
+            // what is in this file.
+            previousApps = new HashSet<String>();
+        } else {
+            // OTA case.
+
+            if (!systemAppsFile.exists()) {
+                // Error, this task should not have been run.
+                ProvisionLogger.loge("No system apps list found for user " + mUserId);
+                mCallback.onError();
+                return;
+            }
+
+            previousApps = readSystemApps(systemAppsFile);
+        }
+        writeSystemApps(currentApps, systemAppsFile);
+        Set<String> newApps = currentApps;
+        newApps.removeAll(previousApps);
+
+        if (mDisableInstallShortcutListenersAndTelecom) {
+            Intent actionShortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
+            if (previousApps.isEmpty()) {
+                // Here, all the apps are in newApps.
+                // It is faster to do it this way than to go through all the apps one by one.
+                disableReceivers(actionShortcut);
+            } else {
+                // Here, all the apps are not in newApps. So we have to go through all the new
+                // apps one by one.
+                for (String newApp : newApps) {
+                    actionShortcut.setPackage(newApp);
+                    disableReceivers(actionShortcut);
+                }
+            }
+        }
+        Set<String> packagesToDelete = newApps;
+        packagesToDelete.removeAll(getRequiredApps());
+        packagesToDelete.retainAll(getCurrentAppsWithLauncher());
+        // com.android.server.telecom should not handle CALL intents in the managed profile.
+        if (mDisableInstallShortcutListenersAndTelecom && mNewProfile) {
+            packagesToDelete.add("com.android.server.telecom");
+        }
+        if (packagesToDelete.isEmpty()) {
+            mCallback.onSuccess();
+            return;
+        }
+        PackageDeleteObserver packageDeleteObserver =
+                new PackageDeleteObserver(packagesToDelete.size());
+        for (String packageName : packagesToDelete) {
+            try {
+                mIpm.deletePackageAsUser(packageName, packageDeleteObserver, mUserId,
+                        PackageManager.DELETE_SYSTEM_APP);
+            } catch (RemoteException neverThrown) {
+                    // Never thrown, as we are making local calls.
+                ProvisionLogger.loge("This should not happen.", neverThrown);
+            }
+        }
+    }
+
+    static File getSystemAppsFile(Context context, int userId) {
+        return new File(context.getFilesDir() + File.separator + "system_apps"
+                + File.separator + "user" + userId + ".xml");
+    }
+
+    /**
+     * Disable all components that can handle the specified broadcast intent.
+     */
+    private void disableReceivers(Intent intent) {
+        List<ResolveInfo> receivers = mPm.queryBroadcastReceivers(intent, 0, mUserId);
         for (ResolveInfo ri : receivers) {
             // One of ri.activityInfo, ri.serviceInfo, ri.providerInfo is not null. Let's find which
             // one.
@@ -89,46 +200,111 @@
             } else {
                 ci = ri.providerInfo;
             }
-            toDisable.add(new ComponentName(ci.packageName, ci.name));
+            disableComponent(new ComponentName(ci.packageName, ci.name));
         }
+    }
+
+    private void disableComponent(ComponentName toDisable) {
         try {
-            for (ComponentName cn : toDisable) {
-                mIpm.setComponentEnabledSetting(cn, PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
-                        PackageManager.DONT_KILL_APP, mUserId);
-            }
+            mIpm.setComponentEnabledSetting(toDisable,
+                    PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP,
+                    mUserId);
         } catch (RemoteException neverThrown) {
             ProvisionLogger.loge("This should not happen.", neverThrown);
+        } catch (Exception e) {
+            ProvisionLogger.logw("Component not found, not disabling it: "
+                + toDisable.toShortString());
         }
+    }
 
-        ProvisionLogger.logd("Deleting non required apps.");
+    /**
+     * Returns the set of package names of apps that are in the system image,
+     * whether they have been deleted or not.
+     */
+    private Set<String> getCurrentSystemApps() {
+        Set<String> apps = new HashSet<String>();
+        List<ApplicationInfo> aInfos = null;
+        try {
+            aInfos = mIpm.getInstalledApplications(
+                    PackageManager.GET_UNINSTALLED_PACKAGES, mUserId).getList();
+        } catch (RemoteException neverThrown) {
+            // Never thrown, as we are making local calls.
+            ProvisionLogger.loge("This should not happen.", neverThrown);
+        }
+        for (ApplicationInfo aInfo : aInfos) {
+            if ((aInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
+                apps.add(aInfo.packageName);
+            }
+        }
+        return apps;
+    }
+
+    private Set<String> getCurrentAppsWithLauncher() {
         Intent launcherIntent = new Intent(Intent.ACTION_MAIN);
         launcherIntent.addCategory(Intent.CATEGORY_LAUNCHER);
-        List<ResolveInfo> launcherActivities = mPm.queryIntentActivitiesAsUser(
-                launcherIntent, PackageManager.NO_CROSS_PROFILE, mUserId);
-
-        Set<String> requiredApps = getRequiredApps();
-
-        Set<String> packagesToDelete = new HashSet<String>();
-        for (ResolveInfo activity : launcherActivities) {
-            String packageName = activity.activityInfo.packageName;
-            if (!requiredApps.contains(packageName)) {
-                packagesToDelete.add(packageName);
-            }
+        List<ResolveInfo> resolveInfos = mPm.queryIntentActivitiesAsUser(launcherIntent,
+                PackageManager.GET_UNINSTALLED_PACKAGES, mUserId);
+        Set<String> apps = new HashSet<String>();
+        for (ResolveInfo resolveInfo : resolveInfos) {
+            apps.add(resolveInfo.activityInfo.packageName);
         }
+        return apps;
+    }
 
-        PackageDeleteObserver packageDeleteObserver =
-                    new PackageDeleteObserver(packagesToDelete.size());
-        for (String packageName : packagesToDelete) {
-            try {
-                mIpm.deletePackageAsUser(packageName, packageDeleteObserver, mUserId,
-                        PackageManager.DELETE_SYSTEM_APP);
-            } catch (RemoteException neverThrown) {
-                // Never thrown, as we are making local calls.
-                ProvisionLogger.loge("This should not happen.", neverThrown);
+    private void writeSystemApps(Set<String> packageNames, File systemAppsFile) {
+        try {
+            FileOutputStream stream = new FileOutputStream(systemAppsFile, false);
+            XmlSerializer serializer = new FastXmlSerializer();
+            serializer.setOutput(stream, "utf-8");
+            serializer.startDocument(null, true);
+            serializer.startTag(null, TAG_SYSTEM_APPS);
+            for (String packageName : packageNames) {
+                serializer.startTag(null, TAG_PACKAGE_LIST_ITEM);
+                serializer.attribute(null, ATTR_VALUE, packageName);
+                serializer.endTag(null, TAG_PACKAGE_LIST_ITEM);
             }
+            serializer.endTag(null, TAG_SYSTEM_APPS);
+            serializer.endDocument();
+            stream.close();
+        } catch (IOException e) {
+            ProvisionLogger.loge("IOException trying to write the system apps", e);
         }
     }
 
+    private Set<String> readSystemApps(File systemAppsFile) {
+        Set<String> result = new HashSet<String>();
+        if (!systemAppsFile.exists()) {
+            return result;
+        }
+        try {
+            FileInputStream stream = new FileInputStream(systemAppsFile);
+
+            XmlPullParser parser = Xml.newPullParser();
+            parser.setInput(stream, null);
+
+            int type = parser.next();
+            int outerDepth = parser.getDepth();
+            while ((type=parser.next()) != XmlPullParser.END_DOCUMENT
+                   && (type != XmlPullParser.END_TAG || parser.getDepth() > outerDepth)) {
+                if (type == XmlPullParser.END_TAG || type == XmlPullParser.TEXT) {
+                    continue;
+                }
+                String tag = parser.getName();
+                if (tag.equals(TAG_PACKAGE_LIST_ITEM)) {
+                    result.add(parser.getAttributeValue(null, ATTR_VALUE));
+                } else {
+                    ProvisionLogger.loge("Unknown tag: " + tag);
+                }
+            }
+            stream.close();
+        } catch (IOException e) {
+            ProvisionLogger.loge("IOException trying to read the system apps", e);
+        } catch (XmlPullParserException e) {
+            ProvisionLogger.loge("XmlPullParserException trying to read the system apps", e);
+        }
+        return result;
+    }
+
     protected Set<String> getRequiredApps() {
         HashSet<String> requiredApps = new HashSet<String> (Arrays.asList(
                         mContext.getResources().getStringArray(mReqAppsList)));
@@ -153,7 +329,7 @@
         public void packageDeleted(String packageName, int returnCode) {
             if (returnCode != PackageManager.DELETE_SUCCEEDED) {
                 ProvisionLogger.logw(
-                        "Could not finish managed profile provisioning: package deletion failed");
+                        "Could not finish the provisioning: package deletion failed");
                 mCallback.onError();
             }
             int currentPackageCount = mPackageCount.decrementAndGet();
diff --git a/src/com/android/managedprovisioning/task/InstallPackageTask.java b/src/com/android/managedprovisioning/task/InstallPackageTask.java
index 0ac0f01..ed4ec0e 100644
--- a/src/com/android/managedprovisioning/task/InstallPackageTask.java
+++ b/src/com/android/managedprovisioning/task/InstallPackageTask.java
@@ -115,20 +115,25 @@
     private class PackageInstallObserver extends IPackageInstallObserver.Stub {
         @Override
         public void packageInstalled(String packageName, int returnCode) {
-            if (!packageName.equals(mPackageName)) {
-                return;
-            }
-
             // Set package verification flag to its original value.
             Global.putInt(mContext.getContentResolver(), Global.PACKAGE_VERIFIER_ENABLE,
                     mPackageVerifierEnable);
 
-            if (returnCode == PackageManager.INSTALL_SUCCEEDED) {
-                ProvisionLogger.logd("Package " + packageName + " is succesfully installed.");
+            if (returnCode == PackageManager.INSTALL_SUCCEEDED
+                    && mPackageName.equals(packageName)) {
+                ProvisionLogger.logd("Package " + mPackageName + " is succesfully installed.");
 
                 mCallback.onSuccess();
             } else {
-                ProvisionLogger.logd("Installing package " + packageName + " failed.");
+                if (returnCode == PackageManager.INSTALL_FAILED_VERSION_DOWNGRADE) {
+                    ProvisionLogger.logd("Current version of " + mPackageName
+                            + " higher than the version to be installed.");
+                    ProvisionLogger.logd("Package " + mPackageName + " was not reinstalled.");
+                    mCallback.onSuccess();
+                    return;
+                }
+
+                ProvisionLogger.logd("Installing package " + mPackageName + " failed.");
                 ProvisionLogger.logd("Errorcode returned by IPackageInstallObserver = "
                         + returnCode);
                 mCallback.onError(ERROR_INSTALLATION_FAILED);
