diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index e2f7dc4..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"
@@ -64,54 +67,58 @@
             android:excludeFromRecents="true"
             android:immersive="true"
             android:launchMode="singleTop"
-            android:theme="@style/SetupWorkSpaceTheme"
-            android:screenOrientation="locked">
-            <intent-filter>
+            android:theme="@style/SetupWorkSpaceTheme">
+            <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"
-            android:screenOrientation="locked">
-            <intent-filter>
-                <action android:name="android.app.action.ACTION_PROVISION_MANAGED_PROFILE" />
+            android:theme="@style/SetupWorkSpaceTheme">
+            <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"
-            android:screenOrientation="locked">
-        </activity>
-        <activity
             android:name="EncryptDeviceActivity"
             android:immersive="true"
             android:launchMode="singleTop"
-            android:theme="@style/SetupWorkSpaceTheme"
-            android:screenOrientation="locked">
+            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" >
@@ -129,5 +136,17 @@
             </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 357b306..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]-->
@@ -131,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/DeviceOwnerProvisioningActivity.java b/src/com/android/managedprovisioning/DeviceOwnerProvisioningActivity.java
index cdde522..1b12252 100644
--- a/src/com/android/managedprovisioning/DeviceOwnerProvisioningActivity.java
+++ b/src/com/android/managedprovisioning/DeviceOwnerProvisioningActivity.java
@@ -16,12 +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 android.app.Activity;
 import android.app.AlertDialog;
-import android.app.Dialog;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -29,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;
@@ -39,7 +37,7 @@
 
 import com.android.managedprovisioning.task.AddWifiNetworkTask;
 
-import java.util.Locale;
+import java.util.ArrayList;
 
 /**
  * This activity starts device owner provisioning:
@@ -65,24 +63,53 @@
  * 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");
+        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.
+        final LayoutInflater inflater = getLayoutInflater();
+        final View contentView = inflater.inflate(R.layout.progress, null);
+        setContentView(contentView);
+        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) {
@@ -97,13 +124,11 @@
             return;
         }
 
-        // Setup the UI.
-        final LayoutInflater inflater = getLayoutInflater();
-        final View contentView = inflater.inflate(R.layout.progress, null);
-        setContentView(contentView);
-        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 (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();
@@ -114,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 */);
@@ -125,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) {
@@ -162,67 +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.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();
     }
@@ -247,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) {
@@ -307,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();
                 }
@@ -327,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();
@@ -339,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));
@@ -346,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 22656d0..109bb98 100644
--- a/src/com/android/managedprovisioning/DeviceOwnerProvisioningService.java
+++ b/src/com/android/managedprovisioning/DeviceOwnerProvisioningService.java
@@ -16,11 +16,17 @@
 
 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;
@@ -48,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.
@@ -74,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;
 
@@ -95,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();
 
@@ -116,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() {
@@ -134,36 +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() {
-                            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();
+        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,
@@ -223,7 +283,11 @@
                 new SetDevicePolicyTask.Callback() {
                     @Override
                     public void onSuccess() {
-                        mDeleteNonRequiredAppsTask.run();
+                        if (params.mLeaveAllSystemAppsEnabled) {
+                            onProvisioningSuccess(params.mDeviceAdminPackageName);
+                        } else {
+                            mDeleteNonRequiredAppsTask.run();
+                        }
                     }
 
                     @Override
@@ -245,7 +309,7 @@
         mDeleteNonRequiredAppsTask = new DeleteNonRequiredAppsTask(
                 this, params.mDeviceAdminPackageName, UserHandle.USER_OWNER,
                 R.array.required_apps_managed_device, R.array.vendor_required_apps_managed_device,
-                true /* Disable sharing via Nfc and Bluetooth */,
+                true /* We are creating a new profile */,
                 false /* Do not disable INSTALL_SHORTCUT listeners */,
                 new DeleteNonRequiredAppsTask.Callback() {
                     public void onSuccess() {
@@ -264,7 +328,7 @@
     }
 
     private void startFirstTask(final ProvisioningParams params) {
-        if (!TextUtils.isEmpty(params.mWifiSsid)) {
+        if (mAddWifiNetworkTask != null) {
 
             // Connect to wifi.
             progressUpdate(R.string.progress_connect_to_wifi);
@@ -290,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);
@@ -298,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();
     }
@@ -312,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.
@@ -328,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.
     }
 
@@ -336,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) {
@@ -354,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);
@@ -366,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 f239c49..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,6 +114,13 @@
         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.
@@ -147,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));
@@ -159,6 +183,58 @@
         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;
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 0cac1ec..0000000
--- a/src/com/android/managedprovisioning/ManagedProvisioningService.java
+++ /dev/null
@@ -1,369 +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 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;
-
-    // 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);
-
-        // 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);
-        new DeleteNonRequiredAppsTask(this,
-                mMdmPackageName, mManagedProfileUserInfo.id,
-                R.array.required_apps_managed_profile,
-                R.array.vendor_required_apps_managed_profile,
-                true /* Disable Sharing via Nfc and Blueetoth */,
-                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();
-            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 (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 0540cfc..1cb77d7 100644
--- a/src/com/android/managedprovisioning/MessageParser.java
+++ b/src/com/android/managedprovisioning/MessageParser.java
@@ -32,6 +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_LEAVE_ALL_SYSTEM_APPS_ENABLED;
 import static android.app.admin.DevicePolicyManager.MIME_TYPE_PROVISIONING_NFC;
 import static java.nio.charset.StandardCharsets.UTF_8;
 
@@ -54,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.
@@ -77,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},
@@ -86,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,
@@ -114,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 = {
@@ -144,6 +154,9 @@
         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);
     }
@@ -170,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(
@@ -222,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) {
@@ -271,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
index 5f6570d..151ef9a 100644
--- a/src/com/android/managedprovisioning/PreBootListener.java
+++ b/src/com/android/managedprovisioning/PreBootListener.java
@@ -1,4 +1,3 @@
-
 /*
  * Copyright 2014, The Android Open Source Project
  *
@@ -38,49 +37,64 @@
 public class PreBootListener extends BroadcastReceiver {
     @Override
     public void onReceive(Context context, Intent intent) {
-        int currentUserId = context.getUserId();
-        if (currentUserId == UserHandle.USER_OWNER) {
-            // Resetting the cross-profile intent filters for the managed profiles which have
-            // this user as their parent.
-            UserManager um = (UserManager) context.getSystemService(
-                    Context.USER_SERVICE);
-            List<UserInfo> profiles = um.getProfiles(currentUserId);
-            boolean hasClearedParent = false;
-            if (profiles.size() > 1) {
-                PackageManager pm = context.getPackageManager();
-                for (UserInfo userInfo : profiles) {
-                    if (userInfo.isManagedProfile()) {
-                        if (!hasClearedParent) {
-                            // Removes filters from the parent to all the managed profiles.
-                            pm.clearCrossProfileIntentFilters(currentUserId);
-                            hasClearedParent = true;
-                        }
-                        pm.clearCrossProfileIntentFilters(userInfo.id);
-                        CrossProfileIntentFiltersHelper.setFilters(
-                                pm, currentUserId, userInfo.id);
-                        deleteNonRequiredApps(context, userInfo.id);
-                    }
-                }
+        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 */);
         }
     }
 
-    /**
-     * Deletes non-required apps that have been added to the system image during the system
-     * update.
-     */
-    private void deleteNonRequiredApps(Context context, int userId) {
-        DevicePolicyManager dpm = (DevicePolicyManager)
-                context.getSystemService(Context.DEVICE_POLICY_SERVICE);
-        ComponentName profileOwner = dpm.getProfileOwnerAsUser(userId);
-        if (profileOwner == null) {
-            ProvisionLogger.loge("There is no profile owner on a managed profile.");
-        }
-
-        new DeleteNonRequiredAppsTask(context, profileOwner.getPackageName(), userId,
-                R.array.required_apps_managed_profile, R.array.vendor_required_apps_managed_profile,
-                false /* Do not disable sharing via Nfc and Blueetooth, it has already been done */,
-                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
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 3dcd804..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) {
@@ -263,51 +224,32 @@
      *
      * @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 f9da5ec..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;
@@ -52,6 +53,10 @@
 
     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();
@@ -88,6 +93,8 @@
         out.writeInt(mDeviceAdminPackageChecksum.length);
         out.writeByteArray(mDeviceAdminPackageChecksum);
         out.writeParcelable(mAdminExtrasBundle, 0 /* default */);
+        out.writeInt(mStartedByNfc ? 1 : 0);
+        out.writeInt(mLeaveAllSystemAppsEnabled ? 1 : 0);
     }
 
     public static final Parcelable.Creator<ProvisioningParams> CREATOR
@@ -99,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();
@@ -112,6 +119,8 @@
             params.mDeviceAdminPackageChecksum = new byte[checksumLength];
             in.readByteArray(params.mDeviceAdminPackageChecksum);
             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 56af94c..924ff25 100644
--- a/src/com/android/managedprovisioning/task/DeleteNonRequiredAppsTask.java
+++ b/src/com/android/managedprovisioning/task/DeleteNonRequiredAppsTask.java
@@ -52,11 +52,11 @@
 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;
@@ -67,16 +67,16 @@
     private final int mReqAppsList;
     private final int mVendorReqAppsList;
     private final int mUserId;
-    private final boolean mDisableNfcBluetoothSharing;
-    private final boolean mDisableInstallShortcutListeners;
+    private final boolean mNewProfile; // If we are provisioning a new managed profile/device.
+    private final boolean mDisableInstallShortcutListenersAndTelecom;
 
-    private static final String TAG_APPS_WITH_LAUNCHER = "apps-with-launcher";
+    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, boolean disableNfcBluetoothSharing,
-            boolean disableInstallShortcutListeners, Callback callback) {
+            int requiredAppsList, int vendorRequiredAppsList, boolean newProfile,
+            boolean disableInstallShortcutListenersAndTelecom, Callback callback) {
         mCallback = callback;
         mContext = context;
         mMdmPackageName = mdmPackageName;
@@ -85,20 +85,27 @@
         mPm = context.getPackageManager();
         mReqAppsList = requiredAppsList;
         mVendorReqAppsList = vendorRequiredAppsList;
-        mDisableNfcBluetoothSharing = disableNfcBluetoothSharing;
-        mDisableInstallShortcutListeners = disableInstallShortcutListeners;
+        mNewProfile = newProfile;
+        mDisableInstallShortcutListenersAndTelecom = disableInstallShortcutListenersAndTelecom;
     }
 
     public void run() {
-        if (mDisableNfcBluetoothSharing) {
-            disableNfcBluetoothSharing();
+        if (mNewProfile) {
+            disableBluetoothSharing();
         }
         deleteNonRequiredApps();
     }
 
-    private void disableNfcBluetoothSharing() {
-        ProvisionLogger.logd("Disabling Nfc and Bluetooth sharing.");
-        disableComponent(new ComponentName("com.android.nfc", "com.android.nfc.BeamShareActivity"));
+    /**
+     * 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"));
     }
@@ -106,17 +113,34 @@
     private void deleteNonRequiredApps() {
         ProvisionLogger.logd("Deleting non required apps.");
 
-        File file = new File(mContext.getFilesDir() + File.separator + "system_apps_with_launcher"
-                + File.separator + "user" + mUserId + ".xml");
-        file.getParentFile().mkdirs(); // Creating the folder if it does not exist
+        File systemAppsFile = getSystemAppsFile(mContext, mUserId);
+        systemAppsFile.getParentFile().mkdirs(); // Creating the folder if it does not exist
 
         Set<String> currentApps = getCurrentSystemApps();
-        Set<String> previousApps = readSystemApps(file);
-        writeSystemApps(currentApps, file);
+        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 (mDisableInstallShortcutListeners) {
+        if (mDisableInstallShortcutListenersAndTelecom) {
             Intent actionShortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
             if (previousApps.isEmpty()) {
                 // Here, all the apps are in newApps.
@@ -134,22 +158,35 @@
         Set<String> packagesToDelete = newApps;
         packagesToDelete.removeAll(getRequiredApps());
         packagesToDelete.retainAll(getCurrentAppsWithLauncher());
-        // com.android.telecomm should not handle CALL intents in the managed profile.
-        packagesToDelete.add("com.android.telecomm");
-
+        // 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());
+                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.
+                    // 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) {
@@ -174,12 +211,15 @@
                     mUserId);
         } catch (RemoteException neverThrown) {
             ProvisionLogger.loge("This should not happen.", neverThrown);
+        } catch (Exception e) {
+            ProvisionLogger.logw("Component not found, not disabling it: "
+                + toDisable.toShortString());
         }
     }
 
     /**
      * Returns the set of package names of apps that are in the system image,
-     * whether they have been deleted or not for the managed profile.
+     * whether they have been deleted or not.
      */
     private Set<String> getCurrentSystemApps() {
         Set<String> apps = new HashSet<String>();
@@ -211,33 +251,33 @@
         return apps;
     }
 
-    private void writeSystemApps(Set<String> packageNames, File file) {
+    private void writeSystemApps(Set<String> packageNames, File systemAppsFile) {
         try {
-            FileOutputStream stream = new FileOutputStream(file, false);
+            FileOutputStream stream = new FileOutputStream(systemAppsFile, false);
             XmlSerializer serializer = new FastXmlSerializer();
             serializer.setOutput(stream, "utf-8");
             serializer.startDocument(null, true);
-            serializer.startTag(null, TAG_APPS_WITH_LAUNCHER);
+            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_APPS_WITH_LAUNCHER);
+            serializer.endTag(null, TAG_SYSTEM_APPS);
             serializer.endDocument();
             stream.close();
         } catch (IOException e) {
-            ProvisionLogger.loge("IOException trying to read the apps with launcher", e);
+            ProvisionLogger.loge("IOException trying to write the system apps", e);
         }
     }
 
-    private Set<String> readSystemApps(File file) {
+    private Set<String> readSystemApps(File systemAppsFile) {
         Set<String> result = new HashSet<String>();
-        if (!file.exists()) {
+        if (!systemAppsFile.exists()) {
             return result;
         }
         try {
-            FileInputStream stream = new FileInputStream(file);
+            FileInputStream stream = new FileInputStream(systemAppsFile);
 
             XmlPullParser parser = Xml.newPullParser();
             parser.setInput(stream, null);
@@ -258,9 +298,9 @@
             }
             stream.close();
         } catch (IOException e) {
-            ProvisionLogger.loge("IOException trying to read the apps with launcher", e);
+            ProvisionLogger.loge("IOException trying to read the system apps", e);
         } catch (XmlPullParserException e) {
-            ProvisionLogger.loge("XmlPullParserException trying to read the apps with launcher", e);
+            ProvisionLogger.loge("XmlPullParserException trying to read the system apps", e);
         }
         return result;
     }
@@ -289,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);
