diff --git a/Android.mk b/Android.mk
index c434101..429fc81 100644
--- a/Android.mk
+++ b/Android.mk
@@ -7,9 +7,13 @@
 
 LOCAL_SRC_FILES := $(call all-java-files-under, src)
 
+LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
+
 LOCAL_PACKAGE_NAME := ManagedProvisioning
 LOCAL_CERTIFICATE := platform
 LOCAL_PRIVILEGED_MODULE := true
 
+include frameworks/opt/setupwizard/navigationbar/common.mk
+
 include $(BUILD_PACKAGE)
 
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index bb4983b..7007979 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -54,8 +54,7 @@
 
     <application
         android:allowClearUserData="false"
-        android:hardwareAccelerated="true"
-        android:label="@string/app_name">
+        android:hardwareAccelerated="true">
 
         <!--
              Note: Setup activities are android:immersive to prevent full-screen notifications (USB
diff --git a/res/anim-ldrtl/slide_back_in.xml b/res/anim-ldrtl/slide_back_in.xml
new file mode 100644
index 0000000..6d39f87
--- /dev/null
+++ b/res/anim-ldrtl/slide_back_in.xml
@@ -0,0 +1,24 @@
+<?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.
+ */
+-->
+<translate xmlns:android="http://schemas.android.com/apk/res/android"
+    android:duration="@integer/activity_transition_duration"
+    android:fromXDelta="100%"
+    android:toXDelta="0%"
+    android:interpolator="@android:anim/decelerate_interpolator"
+    />
diff --git a/res/anim-ldrtl/slide_back_out.xml b/res/anim-ldrtl/slide_back_out.xml
new file mode 100644
index 0000000..2a239d0
--- /dev/null
+++ b/res/anim-ldrtl/slide_back_out.xml
@@ -0,0 +1,24 @@
+<?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.
+ */
+-->
+<translate xmlns:android="http://schemas.android.com/apk/res/android"
+    android:duration="@integer/activity_transition_duration"
+    android:fromXDelta="0%"
+    android:toXDelta="-100%"
+    android:interpolator="@android:anim/decelerate_interpolator"
+    />
diff --git a/res/anim-ldrtl/slide_next_in.xml b/res/anim-ldrtl/slide_next_in.xml
new file mode 100644
index 0000000..3954037
--- /dev/null
+++ b/res/anim-ldrtl/slide_next_in.xml
@@ -0,0 +1,24 @@
+<?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.
+ */
+-->
+<translate xmlns:android="http://schemas.android.com/apk/res/android"
+    android:duration="@integer/activity_transition_duration"
+    android:fromXDelta="-100%"
+    android:toXDelta="0%"
+    android:interpolator="@android:anim/decelerate_interpolator"
+    />
diff --git a/res/anim-ldrtl/slide_next_out.xml b/res/anim-ldrtl/slide_next_out.xml
new file mode 100644
index 0000000..cb16e3e
--- /dev/null
+++ b/res/anim-ldrtl/slide_next_out.xml
@@ -0,0 +1,24 @@
+<?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.
+ */
+-->
+<translate xmlns:android="http://schemas.android.com/apk/res/android"
+    android:duration="@integer/activity_transition_duration"
+    android:fromXDelta="0%"
+    android:toXDelta="100%"
+    android:interpolator="@android:anim/decelerate_interpolator"
+    />
diff --git a/res/anim/slide_back_in.xml b/res/anim/slide_back_in.xml
new file mode 100644
index 0000000..3954037
--- /dev/null
+++ b/res/anim/slide_back_in.xml
@@ -0,0 +1,24 @@
+<?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.
+ */
+-->
+<translate xmlns:android="http://schemas.android.com/apk/res/android"
+    android:duration="@integer/activity_transition_duration"
+    android:fromXDelta="-100%"
+    android:toXDelta="0%"
+    android:interpolator="@android:anim/decelerate_interpolator"
+    />
diff --git a/res/anim/slide_back_out.xml b/res/anim/slide_back_out.xml
new file mode 100644
index 0000000..cb16e3e
--- /dev/null
+++ b/res/anim/slide_back_out.xml
@@ -0,0 +1,24 @@
+<?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.
+ */
+-->
+<translate xmlns:android="http://schemas.android.com/apk/res/android"
+    android:duration="@integer/activity_transition_duration"
+    android:fromXDelta="0%"
+    android:toXDelta="100%"
+    android:interpolator="@android:anim/decelerate_interpolator"
+    />
diff --git a/res/anim/slide_next_in.xml b/res/anim/slide_next_in.xml
new file mode 100644
index 0000000..6d39f87
--- /dev/null
+++ b/res/anim/slide_next_in.xml
@@ -0,0 +1,24 @@
+<?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.
+ */
+-->
+<translate xmlns:android="http://schemas.android.com/apk/res/android"
+    android:duration="@integer/activity_transition_duration"
+    android:fromXDelta="100%"
+    android:toXDelta="0%"
+    android:interpolator="@android:anim/decelerate_interpolator"
+    />
diff --git a/res/anim/slide_next_out.xml b/res/anim/slide_next_out.xml
new file mode 100644
index 0000000..2a239d0
--- /dev/null
+++ b/res/anim/slide_next_out.xml
@@ -0,0 +1,24 @@
+<?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.
+ */
+-->
+<translate xmlns:android="http://schemas.android.com/apk/res/android"
+    android:duration="@integer/activity_transition_duration"
+    android:fromXDelta="0%"
+    android:toXDelta="-100%"
+    android:interpolator="@android:anim/decelerate_interpolator"
+    />
diff --git a/res/drawable-hdpi/setup_illustration.png b/res/drawable-hdpi/setup_illustration.png
index 4742b78..ef6e9cb 100644
--- a/res/drawable-hdpi/setup_illustration.png
+++ b/res/drawable-hdpi/setup_illustration.png
Binary files differ
diff --git a/res/drawable-hdpi/setup_illustration_tile.png b/res/drawable-hdpi/setup_illustration_tile.png
deleted file mode 100644
index a1b5810..0000000
--- a/res/drawable-hdpi/setup_illustration_tile.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-large-hdpi/setup_illustration.png b/res/drawable-large-hdpi/setup_illustration.png
index 67010c6..a8a8e93 100644
--- a/res/drawable-large-hdpi/setup_illustration.png
+++ b/res/drawable-large-hdpi/setup_illustration.png
Binary files differ
diff --git a/res/drawable-large-hdpi/setup_illustration_tile.png b/res/drawable-large-hdpi/setup_illustration_tile.png
new file mode 100644
index 0000000..57ff293
--- /dev/null
+++ b/res/drawable-large-hdpi/setup_illustration_tile.png
Binary files differ
diff --git a/res/drawable-large-mdpi/setup_illustration.png b/res/drawable-large-mdpi/setup_illustration.png
index 1d5d4be..a82db51 100644
--- a/res/drawable-large-mdpi/setup_illustration.png
+++ b/res/drawable-large-mdpi/setup_illustration.png
Binary files differ
diff --git a/res/drawable-large-mdpi/setup_illustration_tile.png b/res/drawable-large-mdpi/setup_illustration_tile.png
new file mode 100644
index 0000000..cabd4d2
--- /dev/null
+++ b/res/drawable-large-mdpi/setup_illustration_tile.png
Binary files differ
diff --git a/res/drawable-large-xhdpi/setup_illustration.png b/res/drawable-large-xhdpi/setup_illustration.png
index 13e4f23..3e65b3b 100644
--- a/res/drawable-large-xhdpi/setup_illustration.png
+++ b/res/drawable-large-xhdpi/setup_illustration.png
Binary files differ
diff --git a/res/drawable-large-xhdpi/setup_illustration_tile.png b/res/drawable-large-xhdpi/setup_illustration_tile.png
new file mode 100644
index 0000000..98b8115
--- /dev/null
+++ b/res/drawable-large-xhdpi/setup_illustration_tile.png
Binary files differ
diff --git a/res/drawable-large-xxhdpi/setup_illustration.png b/res/drawable-large-xxhdpi/setup_illustration.png
index e7a31f6..4a5602d 100644
--- a/res/drawable-large-xxhdpi/setup_illustration.png
+++ b/res/drawable-large-xxhdpi/setup_illustration.png
Binary files differ
diff --git a/res/drawable-large-xxhdpi/setup_illustration_tile.png b/res/drawable-large-xxhdpi/setup_illustration_tile.png
new file mode 100644
index 0000000..9d83761
--- /dev/null
+++ b/res/drawable-large-xxhdpi/setup_illustration_tile.png
Binary files differ
diff --git a/res/drawable-mdpi/setup_illustration.png b/res/drawable-mdpi/setup_illustration.png
index 6f6b3f0..0281622 100644
--- a/res/drawable-mdpi/setup_illustration.png
+++ b/res/drawable-mdpi/setup_illustration.png
Binary files differ
diff --git a/res/drawable-mdpi/setup_illustration_tile.png b/res/drawable-mdpi/setup_illustration_tile.png
deleted file mode 100644
index 77943db..0000000
--- a/res/drawable-mdpi/setup_illustration_tile.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/setup_illustration.png b/res/drawable-xhdpi/setup_illustration.png
index aa7ce86..fe62e4a 100644
--- a/res/drawable-xhdpi/setup_illustration.png
+++ b/res/drawable-xhdpi/setup_illustration.png
Binary files differ
diff --git a/res/drawable-xhdpi/setup_illustration_tile.png b/res/drawable-xhdpi/setup_illustration_tile.png
deleted file mode 100644
index 18b9e08..0000000
--- a/res/drawable-xhdpi/setup_illustration_tile.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/setup_illustration.png b/res/drawable-xxhdpi/setup_illustration.png
index 19a1b07..752ba9b 100644
--- a/res/drawable-xxhdpi/setup_illustration.png
+++ b/res/drawable-xxhdpi/setup_illustration.png
Binary files differ
diff --git a/res/drawable-xxhdpi/setup_illustration_tile.png b/res/drawable-xxhdpi/setup_illustration_tile.png
deleted file mode 100644
index ff6f19a..0000000
--- a/res/drawable-xxhdpi/setup_illustration_tile.png
+++ /dev/null
Binary files differ
diff --git a/res/layout-land/header_and_title.xml b/res/layout-land/header_and_title.xml
index 8183841..fea406f 100644
--- a/res/layout-land/header_and_title.xml
+++ b/res/layout-land/header_and_title.xml
@@ -22,6 +22,5 @@
     style="@style/HeaderAndTitleContainer">
     <TextView
         android:id="@+id/title"
-        android:text="@string/setup_work_space"
         style="@style/Title"/>
-</LinearLayout>
\ No newline at end of file
+</LinearLayout>
diff --git a/res/layout-large-land/encrypt_device.xml b/res/layout-large-land/encrypt_device.xml
index 392c786..c5901aa 100644
--- a/res/layout-large-land/encrypt_device.xml
+++ b/res/layout-large-land/encrypt_device.xml
@@ -17,25 +17,29 @@
  */
 -->
 <RelativeLayout
-    xmlns:android="http://schemas.android.com/apk/res/android">
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    style="@style/Container">
     <include layout="@layout/header_and_title"
-        android:layout_height="fill_parent"
-        android:layout_width="fill_parent"/>
+        android:layout_height="match_parent"
+        android:layout_width="match_parent"/>
     <LinearLayout
-        android:layout_width="fill_parent"
-        android:layout_height="fill_parent"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
         android:layout_marginTop="@dimen/main_text_margin">
         <Space
             android:layout_weight="6"
             android:layout_width="0dp"
-            android:layout_height="fill_parent"/>
+            android:layout_height="match_parent"/>
         <include layout="@layout/encrypt_device_main_text"
             android:layout_weight="8"
             android:layout_width="0dp"
-            android:layout_height="fill_parent"/>
+            android:layout_height="match_parent"/>
         <Space
             android:layout_weight="2"
             android:layout_width="0dp"
-            android:layout_height="fill_parent"/>
+            android:layout_height="match_parent"/>
     </LinearLayout>
+    <fragment android:name="com.android.setupwizard.navigationbar.SetupWizardNavBar"
+        android:id="@+id/navigation_bar"
+        style="@style/setup_wizard_navbar_style" />
 </RelativeLayout>
diff --git a/res/layout-large-land/header_and_title.xml b/res/layout-large-land/header_and_title.xml
index 6c01a22..05b9830 100644
--- a/res/layout-large-land/header_and_title.xml
+++ b/res/layout-large-land/header_and_title.xml
@@ -21,7 +21,7 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     style="@style/HeaderAndTitleContainer">
     <LinearLayout
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content">
         <ImageView
             android:id="@+id/header"
@@ -30,11 +30,10 @@
             style="@style/HeaderImageTile"/>
     </LinearLayout>
     <LinearLayout
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content">
         <TextView
             android:id="@+id/title"
-            android:text="@string/setup_work_space"
             android:layout_weight="6"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
@@ -42,6 +41,6 @@
         <Space
             android:layout_weight="10"
             android:layout_width="0dp"
-            android:layout_height="fill_parent"/>
+            android:layout_height="match_parent"/>
     </LinearLayout>
-</LinearLayout>
\ No newline at end of file
+</LinearLayout>
diff --git a/res/layout-large-land/progress.xml b/res/layout-large-land/progress.xml
index 316e0fd..30b9c35 100644
--- a/res/layout-large-land/progress.xml
+++ b/res/layout-large-land/progress.xml
@@ -18,33 +18,47 @@
 -->
 
 <RelativeLayout
-    xmlns:android="http://schemas.android.com/apk/res/android">
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    style="@style/Container">
     <include layout="@layout/header_and_title"
-        android:layout_height="fill_parent"
-        android:layout_width="fill_parent"/>
+        android:layout_height="match_parent"
+        android:layout_width="match_parent"/>
     <LinearLayout
-        android:layout_width="fill_parent"
-        android:layout_height="fill_parent"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
         android:layout_marginTop="@dimen/main_text_margin">
         <Space
             android:layout_weight="6"
             android:layout_width="0dp"
-            android:layout_height="fill_parent"/>
+            android:layout_height="match_parent"/>
         <LinearLayout
-            style="@style/MainTextContainer"
             android:layout_weight="8"
             android:layout_width="0dp"
-            android:layout_height="fill_parent">
+            android:layout_height="match_parent"
+            android:orientation="vertical">
             <ProgressBar
-                style="@style/ProgressBar"/>
-            <TextView
-                android:id="@+id/prog_text"
-                android:gravity="center_horizontal"
-                style="@style/MainText"/>
+                style="?android:attr/progressBarStyleHorizontal"
+                android:background="@color/white"
+                android:indeterminate="true"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/progress_bar_margin_top"
+                android:layout_weight="0"
+                android:layout_width="match_parent"/>
+            <LinearLayout
+                style="@style/MainTextContainerNoHorizontalMargin"
+                android:layout_weight="1">
+                <TextView
+                    android:id="@+id/prog_text"
+                    android:gravity="center_horizontal"
+                    style="@style/MainText"/>
+            </LinearLayout>
         </LinearLayout>
         <Space
             android:layout_weight="2"
             android:layout_width="0dp"
-            android:layout_height="fill_parent"/>
+            android:layout_height="match_parent"/>
     </LinearLayout>
+    <fragment android:name="com.android.setupwizard.navigationbar.SetupWizardNavBar"
+        android:id="@+id/navigation_bar"
+        style="@style/setup_wizard_navbar_style" />
 </RelativeLayout>
diff --git a/res/layout-large-land/user_consent.xml b/res/layout-large-land/user_consent.xml
index b3d7c43..c3388a9 100644
--- a/res/layout-large-land/user_consent.xml
+++ b/res/layout-large-land/user_consent.xml
@@ -17,25 +17,29 @@
  */
 -->
 <RelativeLayout
-    xmlns:android="http://schemas.android.com/apk/res/android">
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    style="@style/Container">
     <include layout="@layout/header_and_title"
-        android:layout_height="fill_parent"
-        android:layout_width="fill_parent"/>
+        android:layout_height="match_parent"
+        android:layout_width="match_parent"/>
     <LinearLayout
-        android:layout_width="fill_parent"
-        android:layout_height="fill_parent"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
         android:layout_marginTop="@dimen/main_text_margin">
         <Space
             android:layout_weight="6"
             android:layout_width="0dp"
-            android:layout_height="fill_parent"/>
+            android:layout_height="match_parent"/>
         <include layout="@layout/user_consent_main_text"
             android:layout_weight="8"
             android:layout_width="0dp"
-            android:layout_height="fill_parent"/>
+            android:layout_height="match_parent"/>
         <Space
             android:layout_weight="2"
             android:layout_width="0dp"
-            android:layout_height="fill_parent"/>
+            android:layout_height="match_parent"/>
     </LinearLayout>
+    <fragment android:name="com.android.setupwizard.navigationbar.SetupWizardNavBar"
+        android:id="@+id/navigation_bar"
+        style="@style/setup_wizard_navbar_style" />
 </RelativeLayout>
diff --git a/res/layout-large/header_and_title.xml b/res/layout-large/header_and_title.xml
index 9db9c1c..5b718a0 100644
--- a/res/layout-large/header_and_title.xml
+++ b/res/layout-large/header_and_title.xml
@@ -21,7 +21,7 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     style="@style/HeaderAndTitleContainer">
     <LinearLayout
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content">
         <ImageView
             android:id="@+id/header"
@@ -31,6 +31,5 @@
     </LinearLayout>
     <TextView
         android:id="@+id/title"
-        android:text="@string/setup_work_space"
         style="@style/Title"/>
-</LinearLayout>
\ No newline at end of file
+</LinearLayout>
diff --git a/res/layout/delete_managed_profile_dialog.xml b/res/layout/delete_managed_profile_dialog.xml
new file mode 100644
index 0000000..795d3eb
--- /dev/null
+++ b/res/layout/delete_managed_profile_dialog.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * Copyright (C) 2015 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="match_parent"
+            android:orientation="vertical">
+
+            <TextView
+                android:id="@+id/delete_managed_profile_opening_paragraph"
+                android:text="@string/opening_paragraph_delete_profile_unknown_company"
+                style="@style/MainText"/>
+
+            <LinearLayout
+                android:layout_width="wrap_content"
+                android:layout_height="@dimen/row_height"
+                android:paddingTop="@dimen/row_padding_top"
+                android:layout_alignParentLeft="true"
+                android:layout_centerInParent="true"
+                android:layout_gravity="center_vertical">
+                <ImageView
+                    android:id="@+id/delete_managed_profile_mdm_icon_view"
+                    android:layout_width="@dimen/icon_width_height"
+                    android:layout_height="@dimen/icon_width_height"
+                    android:scaleType="center"/>
+                <TextView
+                    android:id="@+id/delete_managed_profile_device_manager_name"
+                    android:layout_width="wrap_content"
+                    android:layout_height="match_parent"
+                    android:paddingLeft="@dimen/main_text_padding_left_right"
+                    android:gravity="center_vertical"
+                    android:textColor="@color/text_black"
+                    android:textSize="@dimen/main_text_size"/>
+            </LinearLayout>
+
+            <TextView
+                android:id="@+id/delete_managed_profile_read_more_link"
+                android:text="@string/read_more_delete_profile"
+                android:visibility="gone"
+                style="@style/MainText"/>
+
+            <TextView
+                android:id="@+id/delete_managed_profile_closing_paragraph"
+                android:text="@string/sure_you_want_to_delete_profile"
+                style="@style/MainText"/>
+
+        </LinearLayout>
+
+    </ScrollView>
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/row_height"
+        android:paddingTop="@dimen/row_padding_top">
+
+        <Button
+            android:id="@+id/delete_managed_profile_positive_button"
+            android:layout_alignParentRight="true"
+            android:layout_alignParentBottom="true"
+            android:text="@string/delete_profile"
+            android:textColor="@color/colored_button"
+            style="@style/TransparentButton" />
+
+        <Button
+            android:id="@+id/delete_managed_profile_negative_button"
+            android:layout_alignParentBottom="true"
+            android:layout_toLeftOf="@id/delete_managed_profile_positive_button"
+            android:text="@string/cancel_delete_profile"
+            style="@style/TransparentButton" />
+
+    </RelativeLayout>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/encrypt_device.xml b/res/layout/encrypt_device.xml
index 9493ce3..0108990 100644
--- a/res/layout/encrypt_device.xml
+++ b/res/layout/encrypt_device.xml
@@ -18,7 +18,16 @@
 -->
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
-    style="@style/Container" >
+    android:orientation="vertical"
+    style="@style/Container">
     <include layout="@layout/header_and_title"/>
-    <include layout="@layout/encrypt_device_main_text"/>
+    <include layout="@layout/encrypt_device_main_text"
+        android:layout_height="match_parent"
+        android:layout_width="match_parent"
+        android:layout_marginLeft="@dimen/main_text_margins_left_right"
+        android:layout_marginRight="@dimen/main_text_margins_left_right"
+        android:layout_weight="1"/>
+    <fragment android:name="com.android.setupwizard.navigationbar.SetupWizardNavBar"
+        android:id="@+id/navigation_bar"
+        style="@style/setup_wizard_navbar_style" />
 </LinearLayout>
diff --git a/res/layout/encrypt_device_main_text.xml b/res/layout/encrypt_device_main_text.xml
index 491d326..02e3300 100644
--- a/res/layout/encrypt_device_main_text.xml
+++ b/res/layout/encrypt_device_main_text.xml
@@ -25,26 +25,11 @@
         style="@style/ScrollView">
         <LinearLayout
             android:layout_height="wrap_content"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:orientation="vertical">
             <TextView
-                android:text="@string/encrypt_device_text"
+                android:id="@+id/encrypt_main_text"
                 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/cancel_button"
-            android:layout_alignParentLeft="true"
-            android:text="@string/encrypt_device_cancel"
-            style="@style/LightButton"/>
-        <Button
-            android:id="@+id/accept_button"
-            android:layout_alignParentRight="true"
-            android:text="@string/encrypt_device_launch_settings"
-            style="@style/ColoredButton" />
-    </RelativeLayout>
 </LinearLayout>
diff --git a/res/layout/header_and_title.xml b/res/layout/header_and_title.xml
index c6facb6..19fb31f 100644
--- a/res/layout/header_and_title.xml
+++ b/res/layout/header_and_title.xml
@@ -21,7 +21,7 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     style="@style/HeaderAndTitleContainer">
     <LinearLayout
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content">
         <ImageView
             android:id="@+id/header"
@@ -29,6 +29,5 @@
     </LinearLayout>
     <TextView
         android:id="@+id/title"
-        android:text="@string/setup_work_space"
         style="@style/Title"/>
-</LinearLayout>
\ No newline at end of file
+</LinearLayout>
diff --git a/res/layout/learn_more_dialog.xml b/res/layout/learn_more_dialog.xml
index f8d5676..4d7f522 100644
--- a/res/layout/learn_more_dialog.xml
+++ b/res/layout/learn_more_dialog.xml
@@ -27,7 +27,7 @@
 
         <LinearLayout
             android:layout_height="wrap_content"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:orientation="vertical">
 
             <TextView
@@ -50,7 +50,7 @@
     </ScrollView>
 
     <RelativeLayout
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="@dimen/row_height"
         android:paddingTop="@dimen/row_padding_top">
 
diff --git a/res/layout/progress.xml b/res/layout/progress.xml
index 34d25e3..9010ffa 100644
--- a/res/layout/progress.xml
+++ b/res/layout/progress.xml
@@ -18,15 +18,34 @@
 -->
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
-    style="@style/Container" >
+    android:orientation="vertical"
+    style="@style/Container">
     <include layout="@layout/header_and_title"/>
     <LinearLayout
-        style="@style/MainTextContainer">
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical"
+        android:layout_marginLeft="@dimen/main_text_margins_left_right"
+        android:layout_marginRight="@dimen/main_text_margins_left_right"
+        android:layout_weight="1">
         <ProgressBar
-            style="@style/ProgressBar"/>
-        <TextView
-            android:id="@+id/prog_text"
-            android:gravity="center_horizontal"
-            style="@style/MainText"/>
+            style="?android:attr/progressBarStyleHorizontal"
+            android:background="@color/white"
+            android:indeterminate="true"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/progress_bar_margin_top"
+            android:layout_weight="0"
+            android:layout_width="match_parent"/>
+        <LinearLayout
+            android:layout_weight="1"
+            style="@style/MainTextContainerNoHorizontalMargin">
+            <TextView
+                android:id="@+id/prog_text"
+                android:gravity="center_horizontal"
+                style="@style/MainText"/>
+        </LinearLayout>
     </LinearLayout>
+    <fragment android:name="com.android.setupwizard.navigationbar.SetupWizardNavBar"
+        android:id="@+id/navigation_bar"
+        style="@style/setup_wizard_navbar_style" />
 </LinearLayout>
diff --git a/res/layout/user_consent.xml b/res/layout/user_consent.xml
index 2ccdfa5..55e9bd5 100644
--- a/res/layout/user_consent.xml
+++ b/res/layout/user_consent.xml
@@ -18,7 +18,16 @@
 -->
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
-    style="@style/Container" >
+    android:orientation="vertical"
+    style="@style/Container">
     <include layout="@layout/header_and_title"/>
-    <include layout="@layout/user_consent_main_text"/>
+    <include layout="@layout/user_consent_main_text"
+        android:layout_height="match_parent"
+        android:layout_width="match_parent"
+        android:layout_marginLeft="@dimen/main_text_margins_left_right"
+        android:layout_marginRight="@dimen/main_text_margins_left_right"
+        android:layout_weight="1"/>
+    <fragment android:name="com.android.setupwizard.navigationbar.SetupWizardNavBar"
+        android:id="@+id/navigation_bar"
+        style="@style/setup_wizard_navbar_style" />
 </LinearLayout>
diff --git a/res/layout/user_consent_main_text.xml b/res/layout/user_consent_main_text.xml
index 2eebb41..6a7c21a 100644
--- a/res/layout/user_consent_main_text.xml
+++ b/res/layout/user_consent_main_text.xml
@@ -27,7 +27,7 @@
         style="@style/ScrollView">
         <LinearLayout
             android:layout_height="wrap_content"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:orientation="vertical">
             <TextView
                 android:text="@string/company_controls_workspace"
@@ -50,7 +50,7 @@
                 <TextView
                     android:id="@+id/device_manager_name"
                     android:layout_width="wrap_content"
-                    android:layout_height="fill_parent"
+                    android:layout_height="match_parent"
                     android:paddingLeft="@dimen/main_text_padding_left_right"
                     android:gravity="center_vertical"
                     android:textColor="@color/text_black"
@@ -58,15 +58,4 @@
             </LinearLayout>
         </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/set_up"
-            style="@style/ColoredButton" />
-    </RelativeLayout>
 </LinearLayout>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
new file mode 100644
index 0000000..0c12fce
--- /dev/null
+++ b/res/values-af/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Oeps!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"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="delete_profile_title" msgid="3097803266123463699">"Verwyder werkprofiel?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Hierdie werkprofiel word bestuur deur:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Hierdie werkprofiel word vir %s bestuur met behulp van:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659"><a href="#read_this_link">"Lees asseblief hier"</a>" voordat jy voortgaan."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Alle programme en data in hierdie profiel sal uitgevee word as jy voortgaan."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Vee uit"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Kanselleer"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"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_text_for_device_owner_setup" msgid="7279768314707033707">"Jy moet jou toestel enkripteer om voort te gaan om jou toestel 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="6193230832887977927">"Werkprofiele moet deur die primêre gebruiker van die toestel opgestel word"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Werkprofiel kon nie geskep word nie, want die maksimum aantal gebruikers op jou toestel is bereik. Verwyder minstens een gebruiker en probeer weer."</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_work_device" msgid="3028145936574439146">"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..aeae81a
--- /dev/null
+++ b/res/values-am/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"ውይ!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"የእርስዎን መገለጫ ያዋቅሩ"</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="delete_profile_title" msgid="3097803266123463699">"የስራ መገለጫ ይወገድ?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"ይህ የስራ መገለጫ በዚህ ነው የሚቀናበረው፦"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"ይሄ የስራ መገለጫ የሚከተለውን በመጠቀም ለ%s የሚቀናበር ነው፦"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"ከመቀጠልዎ በፊት እባክዎ "<a href="#read_this_link">"ይህን ያንብቡ"</a>"።"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"ከቀጠሉ በዚህ መገለጫ ውስጥ ያሉት ሁሉም መተግበሪያዎች እና ውሂብ ይሰረዛሉ።"</string>
+    <string name="delete_profile" msgid="2299218578684663459">"ሰርዝ"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"ይቅር"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"የስራ መገለጫዎን ማዋቀር ለመቀጠል መሣሪያዎን ማመስጠር አለብዎት። ይሄ የተወሰነ ጊዜ ሊወስድ ይችላል።"</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"መሣሪያዎን ማዋቀርዎን ለመቀጠል መሣሪያዎን ማመሳጠር ያስፈልግዎታል። ይህ የተወሰነ ጊዜ ሊወስድ ይችላል።"</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="6193230832887977927">"የስራ መገለጫዎች በተቀዳሚው የመሣሪያው ተጠቃሚ መዘጋጀት ያስፈልጋቸዋል"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"በመሣሪያዎ ላይ የሚፈቀደው ከፍተኛ የተጠቃሚዎች ቁጥር ላይ ስለተደረሰ የሥራ መገለጫ ሊፈጠር አልተቻለም። እባክዎ ቢያንስ አንድ ተጠቃሚ ያስወግዱ እና እንደገና ይሞክሩ።"</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_work_device" msgid="3028145936574439146">"መሣሪያዎን ያዋቅሩ"</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..269dcb8
--- /dev/null
+++ b/res/values-ar/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"عفوًا!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"إعداد الملف الشخصي"</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="delete_profile_title" msgid="3097803266123463699">"هل تريد إزالة الملف الشخصي للعمل؟"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"تتم إدارة الملف الشخصي للعمل هذا بواسطة:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"‏تتم إدارة الملف الشخصي للعمل هذا لصالح %s باستخدام:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"الرجاء "<a href="#read_this_link">"قراءة هذا"</a>" قبل المتابعة."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"سيتم حذف جميع التطبيقات والبيانات في هذا الملف الشخصي عند المتابعة."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"حذف"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"إلغاء"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"لمتابعة إعداد الملف الشخصي للعمل، يجب عليك تشفير الجهاز. قد يستغرق هذا بعض الوقت."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"لمتابعة إعداد جهازك، يجب عليك تشفير الجهاز. قد يستغرق هذا بعض الوقت."</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="6193230832887977927">"يجب إعداد الملفات الشخصية للعمل بواسطة المستخدم الأساسي للجهاز"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"تعذر إنشاء الملف الشخصي للعمل نظرًا لبلوغ الحد الأقصى لعدد المستخدمين على جهازك. يُرجى إزالة حساب مستخدم واحد على الأقل وإعادة المحاولة."</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_work_device" msgid="3028145936574439146">"إعداد الجهاز"</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..60a1a90
--- /dev/null
+++ b/res/values-bg/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Ами сега!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"Настройване на потребителския ви профил"</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="delete_profile_title" msgid="3097803266123463699">"Да се премахне ли служебният потребителски профил?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Този служебен потребителски профил се управлява от:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Този служебен потребителски профил се управлява от %s посредством:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Моля, "<a href="#read_this_link">"прочетете това"</a>", преди да продължите."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Ако продължите, всички приложения и данни в този потребителски профил ще бъдат изтрити."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Изтриване"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Отказ"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"За да продължите с настройването на служебния си потребителски профил, трябва да шифровате устройството си. Това може да отнеме известно време."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"За да продължите с настройването на устройството си, трябва да го шифровате. Това може да отнеме известно време."</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="6193230832887977927">"Служебните потребителски профили трябва да бъдат настроени от основния потребител на устройството"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Служебният потребителски профил не можа да бъде създаден, тъй като е достигнат максималният брой потребители на устройството ви. Моля, премахнете поне един от тях и опитайте отново."</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_work_device" msgid="3028145936574439146">"Настройване на устройството ви"</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..084d443
--- /dev/null
+++ b/res/values-bn-rBD/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"ওহো!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"আপনার প্রোফাইল সেট আপ করুন"</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="delete_profile_title" msgid="3097803266123463699">"কর্মস্থলের প্রোফাইল সরাবেন?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"এর দ্বারা এই কাজের প্রোফাইলটি পরিচালিত হয়:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"%s এর জন্য পরিচালিত এই কাজের প্রোফাইলটি এগুলি ব্যবহার করছে:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"এগিয়ে যাওয়ার আগে অনুগ্রহ করে "<a href="#read_this_link">"এটি পড়ুন"</a>"৷"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"যদি আপনি চালিয়ে যান তবে এই প্রোফাইলের সমস্ত অ্যাপ্লিকেশান ও ডেটা মুছে ফেলা হবে৷"</string>
+    <string name="delete_profile" msgid="2299218578684663459">"মুছুন"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"বাতিল করুন"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"আপনার কর্মস্থলের প্রোফাইল সেট আপ করা অবিরত রাখতে, আপনাকে আপনার ডিভাইস এনক্রিপ্ট করতে হবে। এর জন্য কিছুক্ষণ সময় লাগবে।"</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"আপনার ডিভাইস সেট আপ করা চালিয়ে যেতে, আপনাকে আপনার ডিভাইস এনক্রিপ্ট করতে হবে৷ এটি কিছুটা সময় নিতে পারে৷"</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="6193230832887977927">"ডিভাইসের প্রাথমিক ব্যবহারকারীকে কাজের প্রোফাইলগুলি সেট আপ করতে হবে"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"আপনার ডিভাইসে অনুমোদিত ব্যবহারকারীদের সর্বোচ্চ সংখ্যায় পৌঁছেছে তাই ওয়ার্ক প্রোফাইল তৈরি করা যাবে না৷ অনুগ্রহ করে কমপক্ষে একটি ব্যবহারকারী সরান এবং আবার চেষ্টা করুন৷"</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_work_device" msgid="3028145936574439146">"আপনার ডিভাইস সেট করুন"</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..9ed9a2b
--- /dev/null
+++ b/res/values-ca/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Error"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"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="delete_profile_title" msgid="3097803266123463699">"Vols suprimir el perfil professional?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"El gestor d\'aquest perfil professional és:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"%s gestiona aquest perfil professional mitjançant:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659"><a href="#read_this_link">"Llegeix això"</a>" abans de continuar."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Si continues, se suprimiran totes les aplicacions i les dades d\'aquest perfil."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Suprimeix"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Cancel·la"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Per continuar amb la configuració del perfil professional, hauràs d\'encriptar el dispositiu. És possible que tardis una estona a fer-ho."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Per continuar configurant el dispositiu, hauràs d\'encriptar-lo. És possible que tardis 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="6193230832887977927">"Els perfils professionals els ha de configurar l\'usuari principal del dispositiu"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"El perfil de treball no s\'ha pogut crear perquè s\'ha assolit el nombre màxim d\'usuaris al dispositiu. Suprimeix-ne almenys un i torna-ho a provar."</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_work_device" msgid="3028145936574439146">"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..749197a
--- /dev/null
+++ b/res/values-cs/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Jejda!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"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="delete_profile_title" msgid="3097803266123463699">"Odstranit pracovní profil?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Tento pracovní profil je spravován pomocí aplikace:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Tento pracovní profil je spravován pro doménu %s pomocí aplikace:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Než budete pokračovat, přečtěte si "<a href="#read_this_link">"tento článek"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Budete-li pokračovat, budou smazány všechny aplikace a data z tohoto profilu."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Smazat"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Zrušit"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Chcete-li v nastavování pracovního profilu pokračovat, bude třeba zařízení zašifrovat. Může to chvíli trvat."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Chcete-li v nastavování zařízení pokračovat, budete jej muset 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="6193230832887977927">"Pracovní profily musí nastavit primární uživatel zařízení."</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Vytvoření pracovního profilu se nezdařilo, protože v zařízení bylo dosaženo maximálního počtu uživatelů. Odeberte alespoň jednoho uživatele a zkuste to znovu."</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_work_device" msgid="3028145936574439146">"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..0674955
--- /dev/null
+++ b/res/values-da/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Hovsa!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"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="delete_profile_title" msgid="3097803266123463699">"Vil du fjerne arbejdsprofilen?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Denne arbejdsprofil administreres af:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Denne arbejdsprofil administreres af %s ved hjælp af:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659"><a href="#read_this_link">"Læs dette"</a>", inden du fortsætter."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Alle apps og data i denne profil slettes, hvis du fortsætter."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Slet"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Annuller"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Du skal kryptere din enhed, inden du kan fortsætte konfigurationen af din arbejdsprofil. Dette kan tage et stykke tid."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Du skal kryptere din enhed, inden du kan fortsætte konfigurationen. 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="6193230832887977927">"Arbejdsprofiler skal oprettes af enhedens primære bruger"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Arbejdsprofilen kunne ikke oprettes, da du har nået det maksimale antal brugere på din enhed. Fjern mindst én bruger, og prøv igen."</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_work_device" msgid="3028145936574439146">"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..a4d5992
--- /dev/null
+++ b/res/values-de/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Hoppla!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"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="delete_profile_title" msgid="3097803266123463699">"Arbeitsprofil entfernen?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Dieses Arbeitsprofil wird verwaltet von:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Dieses Arbeitsprofil wird für %s von der folgenden App verwaltet:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Bevor Sie fortfahren, "<a href="#read_this_link">"lesen Sie bitte diese Informationen"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Wenn Sie den Vorgang fortsetzen, werden alle Apps und Daten in diesem Profil gelöscht."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Löschen"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Abbrechen"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"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_text_for_device_owner_setup" msgid="7279768314707033707">"Um mit dem Einrichten Ihres Geräts 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="6193230832887977927">"Arbeitsprofile müssen vom primären Nutzer des Geräts eingerichtet werden."</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Das Arbeitsprofil konnte nicht erstellt werden, da die maximale Nutzeranzahl auf diesem Gerät bereits erreicht wurde. Entfernen Sie mindestens einen Nutzer und versuchen Sie es erneut."</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_work_device" msgid="3028145936574439146">"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..0f3dedb
--- /dev/null
+++ b/res/values-el/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Ωχ!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"Ρυθμίστε το προφίλ σας"</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="delete_profile_title" msgid="3097803266123463699">"Κατάργηση προφίλ εργασίας;"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Η διαχείριση αυτού του προφίλ γίνεται από:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Η διαχείριση αυτού του προφίλ γίνεται για %s χρησιμοποιώντας:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659"><a href="#read_this_link">"Διαβάστε αυτό"</a>" πριν συνεχίσετε."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Όλες οι εφαρμογές και τα δεδομένα σε αυτό το προφίλ θα διαγραφούν εάν συνεχίσετε."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Διαγραφή"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Ακύρωση"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Για να συνεχίσετε με τη ρύθμιση του προφίλ εργασίας σας, θα πρέπει να κρυπτογραφήσετε τη συσκευή σας. Αυτό μπορεί να διαρκέσει λίγη ώρα."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Για να συνεχίσετε με τη ρύθμιση της συσκευής σας, θα πρέπει να την κρυπτογραφήσετε. Αυτό μπορεί να διαρκέσει λίγη ώρα."</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="6193230832887977927">"Τα προφίλ εργασίας θα πρέπει να ρυθμίζονται από τον κύριο χρήστη της συσκευής"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Δεν ήταν δυνατή η δημιουργία του προφίλ εργασίας καθώς έχετε φτάσει το μέγιστο αριθμό χρηστών στη συσκευή σας. Αφαιρέστε τουλάχιστον έναν χρήστη και δοκιμάστε ξανά."</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_work_device" msgid="3028145936574439146">"Ρύθμιση της συσκευής"</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-rAU/strings.xml b/res/values-en-rAU/strings.xml
new file mode 100644
index 0000000..010e8f2
--- /dev/null
+++ b/res/values-en-rAU/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Oops!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"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="delete_profile_title" msgid="3097803266123463699">"Remove work profile?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"This work profile is managed by:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"This work profile is managed for %s using:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Please "<a href="#read_this_link">"read this"</a>" before proceeding."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"All apps and data in this profile will be deleted if you continue."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Delete"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Cancel"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"To continue setting up your work profile, you\'ll need to encrypt your device. This may take some time."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"To continue setting up your device, 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="6193230832887977927">"Work profiles need to be set up by the primary user of the device"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Work profile could not be created as the maximum number of users on your device has been reached. Please remove at least one user and try again."</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_work_device" msgid="3028145936574439146">"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-rGB/strings.xml b/res/values-en-rGB/strings.xml
new file mode 100644
index 0000000..010e8f2
--- /dev/null
+++ b/res/values-en-rGB/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Oops!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"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="delete_profile_title" msgid="3097803266123463699">"Remove work profile?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"This work profile is managed by:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"This work profile is managed for %s using:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Please "<a href="#read_this_link">"read this"</a>" before proceeding."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"All apps and data in this profile will be deleted if you continue."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Delete"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Cancel"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"To continue setting up your work profile, you\'ll need to encrypt your device. This may take some time."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"To continue setting up your device, 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="6193230832887977927">"Work profiles need to be set up by the primary user of the device"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Work profile could not be created as the maximum number of users on your device has been reached. Please remove at least one user and try again."</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_work_device" msgid="3028145936574439146">"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..010e8f2
--- /dev/null
+++ b/res/values-en-rIN/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Oops!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"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="delete_profile_title" msgid="3097803266123463699">"Remove work profile?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"This work profile is managed by:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"This work profile is managed for %s using:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Please "<a href="#read_this_link">"read this"</a>" before proceeding."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"All apps and data in this profile will be deleted if you continue."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Delete"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Cancel"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"To continue setting up your work profile, you\'ll need to encrypt your device. This may take some time."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"To continue setting up your device, 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="6193230832887977927">"Work profiles need to be set up by the primary user of the device"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Work profile could not be created as the maximum number of users on your device has been reached. Please remove at least one user and try again."</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_work_device" msgid="3028145936574439146">"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..0dc4ad9
--- /dev/null
+++ b/res/values-es-rUS/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"¡Uy!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"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="delete_profile_title" msgid="3097803266123463699">"¿Eliminar perfil de trabajo?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"La siguiente aplicación administra este perfil de trabajo:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"La siguiente aplicación administra el perfil de trabajo de %s:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659"><a href="#read_this_link">"Lee esta información"</a>" antes de continuar."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Si continúas, se eliminarán todas las aplicaciones y los datos en este perfil."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Eliminar"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Cancelar"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"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_text_for_device_owner_setup" msgid="7279768314707033707">"Para continuar con la configuración del dispositivo, deberás encriptarlo. 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="6193230832887977927">"El usuario principal del dispositivo es quien configura los perfiles de trabajo."</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"No se pudo crear un perfil de trabajo porque se alcanzó el número máximo de usuarios en el dispositivo. Elimina al menos un usuario y vuelve a intentarlo."</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_work_device" msgid="3028145936574439146">"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..7900737
--- /dev/null
+++ b/res/values-es/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"¡Vaya!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"Configurar el 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="delete_profile_title" msgid="3097803266123463699">"¿Eliminar perfil de trabajo?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Este perfil de trabajo está administrado por:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Este perfil de trabajo está administrado para %s con:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Lee "<a href="#read_this_link">"este artículo"</a>" antes de continuar."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Si continúas, se eliminarán las aplicaciones y los datos de este perfil."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Eliminar"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Cancelar"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Para seguir configurando tu perfil de trabajo, tendrás que cifrar el dispositivo. Este proceso puede tardar unos minutos."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Para seguir configurando tu dispositivo, tendrás que cifrarlo. Este proceso puede tardar unos 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 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="6193230832887977927">"El usuario principal del dispositivo debe configurar los perfiles de trabajo"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"No se ha podido crear el perfil de trabajo porque se ha alcanzado el número máximo de usuarios del dispositivo. Elimina uno o varios usuarios y vuelve a intentarlo."</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_work_device" msgid="3028145936574439146">"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 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..bc6453f
--- /dev/null
+++ b/res/values-et-rEE/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Vabandust!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"Profiili seadistamine"</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="delete_profile_title" msgid="3097803266123463699">"Kas eemaldada tööprofiil?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Seda tööprofiili hallatakse rakendusega"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Seda tööprofiili hallatakse domeeni %s puhul rakendusega"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Enne jätkamist "<a href="#read_this_link">"lugege seda"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Kui jätkate, kustutatakse kõik selle profiili rakendused ja andmed."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Kustuta"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Tühista"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Tööprofiili seadistamise jätkamiseks peate seadme krüpteerima. Selleks võib kuluda pisut aega."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Seadme seadistamise jätkamiseks peate selle 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="6193230832887977927">"Tööprofiilid peab seadistama seadme peamine kasutaja"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Tööprofiili ei saanud luua, kuna teie seadmes on juba maksimaalne arv kasutajaid. Eemaldage vähemalt üks kasutaja ja proovige uuesti."</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_work_device" msgid="3028145936574439146">"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..9fde4b7
--- /dev/null
+++ b/res/values-eu-rES/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Arazo bat izan da."</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"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="delete_profile_title" msgid="3097803266123463699">"Laneko profila kendu nahi duzu?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Laneko profil hau honen bidez kudeatzen da:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"%s domeinuko laneko profil hau honen bidez kudeatzen da:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Aurrera egin aurretik, "<a href="#read_this_link">"irakurri hau"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Aurrera eginez gero, profileko aplikazio eta datu guztiak ezabatuko dira."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Ezabatu"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Utzi"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Laneko profila konfiguratzen jarraitzeko, gailua enkriptatu beharko duzu. Minutu batzuk behar izan ditzakegu horretarako."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Gailua konfiguratzen jarraitzeko, gailua enkriptatu beharko duzu. Denbora pixka bat behar izan daiteke 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="6193230832887977927">"Gailuaren erabiltzaile nagusiak konfiguratu behar ditu laneko profilak"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Ezin izan da sortu laneko profila, gailuaren gehienezko erabiltzaile kopurua gainditu baita. Kendu erabiltzaile bat gutxienez eta saiatu berriro."</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_work_device" msgid="3028145936574439146">"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..58a4771
--- /dev/null
+++ b/res/values-fa/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"وای!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"تنظیم نمایه"</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="delete_profile_title" msgid="3097803266123463699">"نمایه کاری حذف شود؟"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"سرپرست زیر این نمایه کاری را مدیریت می‌کند:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"‏سرپرست زیر این نمایه کاری را برای %s مدیریت می‌کند:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"لطفاً قبل از ادامه دادن، "<a href="#read_this_link">"این مطلب را بخوانید"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"اگر ادامه دهید، همه برنامه‌ها و اطلاعات در این نمایه حذف می‌شوند."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"حذف"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"لغو"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"برای ادامه تنظیم نمایه کاری‌تان، باید دستگاهتان را رمزگذاری کنید. شاید این کار مدتی طول بکشد."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"برای ادامه تنظیم دستگاهتان، باید دستگاهتان را رمزگذاری کنید. شاید این کار مدتی طول بکشد."</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="6193230832887977927">"کاربر اصلی دستگاه باید نمایه‌های کاری را تنظیم کند"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"چون تعداد کاربران در دستگاهتان به حداکثر رسیده است، نمی‌توان نمایه کاری ایجاد کرد. لطفاً حداقل یک کاربر را بردارید و دوباره امتحان کنید."</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_work_device" msgid="3028145936574439146">"تنظیم دستگاه"</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..6655b72
--- /dev/null
+++ b/res/values-fi/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Hups!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"Luo 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="delete_profile_title" msgid="3097803266123463699">"Poistetaanko työprofiili?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Tätä työprofiilia hallinnoi"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Organisaation %s työprofiilia hallinnoi"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659"><a href="#read_this_link">"Lue tämä"</a>" ennen kuin jatkat."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Kaikki tämän profiilin sovellukset ja tiedot poistetaan, jos jatkat."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Poista"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Peruuta"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Työprofiilin määritysten jatkaminen edellyttää laitteen salaamista. Tämä voi kestää hetken."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Jos haluat jatkaa laitteen asennusta, sinun on salattava se. Tämä 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="6193230832887977927">"Laitteen ensisijaisen käyttäjän on määritettävä työprofiilit."</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Työprofiilin luominen epäonnistui, sillä laitteellasi on jo enimmäismäärä käyttäjiä. Poista vähintään yksi käyttäjä ja yritä uudelleen."</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_work_device" msgid="3028145936574439146">"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..f373955
--- /dev/null
+++ b/res/values-fr-rCA/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Oups!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"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="delete_profile_title" msgid="3097803266123463699">"Supprimer le profil professionnel?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Le profil professionnel est géré par :"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Ce profil professionnel est géré pour %s avec l\'application suivante :"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Veuillez "<a href="#read_this_link">"lire ceci"</a>" avant de continuer."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Toutes les applications et les données de ce profil seront supprimées si vous continuez."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Supprimer"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Annuler"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Pour continuer la configuration de votre profil professionnel, vous devrez chiffrer votre appareil. Cela peut prendre un certain temps."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Pour continuer la configuration de votre appareil, vous devrez le chiffrer. 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="6193230832887977927">"Les profils de travail doivent être configurés par l\'utilisateur principal de l\'appareil"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Impossible de créer un profil professionnel, car vous avez atteint le nombre maximal d\'utilisateurs sur votre appareil. Veuillez supprimer au moins un profil utilisateur, puis réessayer."</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_work_device" msgid="3028145936574439146">"Configurer votre 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..abd0ee2
--- /dev/null
+++ b/res/values-fr/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Petit problème…"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"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="delete_profile_title" msgid="3097803266123463699">"Supprimer le profil professionnel ?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Ce profil professionnel est géré par l\'application suivante :"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Ce profil professionnel est géré pour %s avec l\'application suivante :"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Veuillez "<a href="#read_this_link">"lire ces informations"</a>" avant de continuer."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Si vous continuez, toutes les applications et les données associées à ce profil seront supprimées."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Supprimer"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Annuler"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Pour poursuivre la configuration de votre profil professionnel, vous devez chiffrer les données de votre appareil. Cette opération peut prendre un certain temps."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Pour poursuivre la configuration de votre appareil, vous devez chiffrer les données qu\'il contient. Cette opération 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="6193230832887977927">"Les profils professionnels doivent être configurés par l\'utilisateur principal de l\'appareil."</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Impossible de créer un profil professionnel, car vous avez atteint le nombre maximal d\'utilisateurs sur votre appareil. Veuillez supprimer au moins un profil utilisateur, puis réessayer."</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_work_device" msgid="3028145936574439146">"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..528c340
--- /dev/null
+++ b/res/values-gl-rES/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Vaia!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"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="delete_profile_title" msgid="3097803266123463699">"Eliminar perfil de traballo?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Este perfil de traballo está xestionado por:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Este perfil de traballo está xestionado para %s con:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Le "<a href="#read_this_link">"este artigo"</a>" antes de continuar."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Se continúas, eliminaranse todas as aplicacións e datos deste perfil."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Eliminar"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Cancelar"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Para continuar coa configuración do teu perfil de traballo, terás que encriptar o teu dispositivo.  Este proceso pode tardar uns minutos."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Para continuar coa configuración do dispositivo, terás que encriptar o 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="6193230832887977927">"Os perfís de traballo teñen que ser configurados polo usuario principal do dispositivo"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Non se puido crear o perfil de traballo porque se alcanzou o número máximo de usuarios no teu dispositivo. Elimina polo menos un usuario e téntao de novo."</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_work_device" msgid="3028145936574439146">"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..119695a
--- /dev/null
+++ b/res/values-hi/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"ओह!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"अपनी प्रोफ़ाइल सेट करें"</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="delete_profile_title" msgid="3097803266123463699">"कार्य प्रोफ़ाइल निकालें?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"यह कार्य प्रोफ़ाइल इनके द्वारा प्रबंधित की जाती है:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"यह कार्य प्रोफ़ाइल %s के लिए इसके उपयोग से प्रबंधित की जाती है:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"कृपया आगे बढ़ने से पहले "<a href="#read_this_link">"यह पढ़ें"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"यदि आप जारी रखते हैं तो इस प्रोफ़ाइल के सभी ऐप्‍स और डेटा को हटा दिया जाएगा."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"हटाएं"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"रहने दें"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"अपनी कार्य प्रोफ़ाइल सेट करना जारी रखने के लिए, आपको अपने डिवाइस को एन्क्रिप्ट करना होगा. इसमें कुछ समय लग सकता है."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"अपना डिवाइस सेट करना जारी रखने के लिए, आपको अपने डिवाइस को एन्‍क्रिप्‍ट करना होगा. इसमें कुछ समय लग सकता है."</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="6193230832887977927">"कार्य प्रोफ़ाइलें डिवाइस के प्राथमिक उपयोगकर्ता के द्वारा सेट की जानी चाहिए"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"कार्य प्रोफ़ाइल नहीं बनाई जा सकती क्‍योंकि आपका डिवाइस उपयोगकर्ताओं की अधिकतम संख्‍या तक पहुंच गया है. कृपया कम से कम एक उपयोगकर्ता को निकालें और पुन: प्रयास करें."</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_work_device" msgid="3028145936574439146">"अपना डिवाइस सेट करें"</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..1c7dc4c
--- /dev/null
+++ b/res/values-hr/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Ups!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"Postavljanje profila"</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="delete_profile_title" msgid="3097803266123463699">"Ukloniti radni profil?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Ovim radnim profilom upravlja:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Ovaj je radni profil pod upravljanjem domene %s putem:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659"><a href="#read_this_link">"Pročitajte ovo"</a>" prije nego što nastavite."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Ako nastavite, izbrisat će se sve aplikacije i podaci u profilu."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Izbriši"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Odustani"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Da biste nastavili s postavljanjem svog radnog profila, morat ćete kriptirati uređaj. To može potrajati."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Da biste nastavili s postavljanjem uređaja, morat ćete ga kriptirati. 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="6193230832887977927">"Primarni korisnik uređaja mora postaviti radne profile"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Nije uspjela izrada poslovnog profila jer je dosegnut maksimalan broj korisnika na uređaju. Uklonite barem jednog korisnika i pokušajte ponovo."</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_work_device" msgid="3028145936574439146">"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..ce89fde
--- /dev/null
+++ b/res/values-hu/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Hoppá!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"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="delete_profile_title" msgid="3097803266123463699">"Eltávolítja a munkahelyi profilt?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"A munkahelyi profil kezelője:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"%s számára a következővel kezelik ezt a munkahelyi profilt:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Kérjük, a folytatás előtt "<a href="#read_this_link">"olvassa el ezt"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Ha folytatja, a profilban lévő minden alkalmazás és adat törlődik."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Törlés"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Mégse"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"A munkaprofil beállításának folytatásához titkosítania kell eszközét. Ez időigényes lehet."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"A beállítás folytatásához titkosítania kell eszközét. Ez időigényes lehet."</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="6193230832887977927">"Munkaprofilt csak az eszköz elsődleges felhasználója állíthat be"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Nem hozható létre munkahelyi profil, mert elérte az eszközén maximálisan engedélyezett profilok számát. Távolítson el legalább egy felhasználót, és próbálkozzon újra."</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_work_device" msgid="3028145936574439146">"Az 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..53c5e9a
--- /dev/null
+++ b/res/values-hy-rAM/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Վա՜յ:"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"Կարգավորել պրոֆիլը"</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="delete_profile_title" msgid="3097803266123463699">"Հեռացնե՞լ աշխատանքային պրոֆիլը:"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Այս աշխատանքային պրոֆիլը կառավարվում է այս հավելվածի օգնությամբ՝"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Այս աշխատանքային պրոֆիլը %s-ի համար կառավարվում է այս հավելվածի օգնությամբ՝"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Շարունակելուց առաջ "<a href="#read_this_link">"կարդացեք սա"</a>":"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Շարունակելու դեպքում այս պրոֆիլի բոլոր հավելվածներն ու տվյալները կջնջվեն:"</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Ջնջել"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Չեղարկել"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Աշխատանքային պրոֆիլի կարգավորումը շարունակելու համար դուք պետք է կոդավորեք ձեր սարքը: Կոդավորումը կարող է որոշ ժամանակ պահանջել:"</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Սարքի կարգավորումը շարունակելու համար դուք պետք է կոդավորեք այն: Կոդավորումը կարող է որոշ ժամանակ պահանջել:"</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="6193230832887977927">"Աշխատանքային պրոֆիլները պետք է կարգավորվեն սարքի հիմնական օգտվողի կողմից"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Հնարավոր չէ ստեղծել աշխատանքային պրոֆիլը, քանի որ ձեր սարքում օգտվողների առավելագույն քանակն արդեն լրացել է: Հեռացրեք առնվազն մեկ օգտվող, ապա նորից փորձեք:"</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_work_device" msgid="3028145936574439146">"Կարգավորել սարքը"</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..70f2630
--- /dev/null
+++ b/res/values-in/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Ups!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"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="delete_profile_title" msgid="3097803266123463699">"Buang profil kerja?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Profil kerja ini dikelola oleh:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Profil kerja ini dikelola untuk %s menggunakan:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Harap "<a href="#read_this_link">"baca ini"</a>" sebelum melanjutkan."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Semua aplikasi dan data dalam profil ini akan dihapus jika Anda melanjutkan."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Hapus"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Batal"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Untuk melanjutkan penyiapan profil kerja, Anda perlu mengenkripsi perangkat. Tindakan ini mungkin sedikit memakan waktu."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Untuk melanjutkan penyiapan perangkat, Anda perlu mengenkripsi perangkat. Tindakan ini mungkin sedikit memakan waktu."</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="6193230832887977927">"Profil kerja harus disiapkan oleh pengguna utama perangkat"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Profil kerja tidak dapat dibuat karena jumlah maksimum pengguna di perangkat telah tercapai. Hapus setidaknya satu pengguna dan coba lagi."</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_work_device" msgid="3028145936574439146">"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..42b191f
--- /dev/null
+++ b/res/values-is-rIS/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Úbbs!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"Uppsetning sniðs"</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="delete_profile_title" msgid="3097803266123463699">"Fjarlægja vinnusnið?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Þessu vinnusniði er stjórnað af:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Þessu vinnusniði er stjórnað af %s sem notar:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659"><a href="#read_this_link">"Lestu þetta"</a>" áður en lengra er haldið."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Öllum forritum og gögnum á þessu sniði verður eytt ef þú heldur áfram."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Eyða"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Hætta við"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Til að halda uppsetningu vinnusniðsins áfram þarftu að dulkóða tækið þitt. Þetta getur tekið svolitla stund."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Til að halda uppsetningu tækisins á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="6193230832887977927">"Vinnusnið þurfa að vera sett upp af aðalnotanda tækisins"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Ekki tókst að búa til vinnusnið því að hámarksfjölda notenda í tækinu er náð. Fjarlægðu að minnsta kosti einn notanda og reyndu aftur."</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_work_device" msgid="3028145936574439146">"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..c978c0c
--- /dev/null
+++ b/res/values-it/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Ops!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"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="delete_profile_title" msgid="3097803266123463699">"Rimuovere il profilo di lavoro?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Questo profilo di lavoro è gestito da:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Il profilo di lavoro viene gestito per %s tramite:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Prima di continuare "<a href="#read_this_link">"leggi queste informazioni"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Se continui, tutte le app e i dati presenti nel profilo verranno eliminati."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Elimina"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Annulla"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Per continuare la configurazione del profilo di lavoro, dovrai crittografare il dispositivo. L\'operazione potrebbe richiedere del tempo."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Per continuare la configurazione del dispositivo, dovrai crittografarlo. Questa 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="6193230832887977927">"I profili di lavoro devono essre configurati dall\'utente principale del dispsoitivo"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Impossibile creare il profilo di lavoro perché è stato raggiunto il numero massimo di utenti sul dispositivo. Rimuovi almeno un utente e riprova."</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_work_device" msgid="3028145936574439146">"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..a339294
--- /dev/null
+++ b/res/values-iw/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"אופס!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"הגדרת הפרופיל"</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="delete_profile_title" msgid="3097803266123463699">"האם להסיר את פרופיל העבודה?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"פרופיל העבודה הזה מנוהל על ידי:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"‏פרופיל העבודה הזה מנוהל בשביל %s באמצעות:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659"><a href="#read_this_link">"קרא את המידע הזה"</a>" לפני שתמשיך."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"אם תמשיך, כל האפליקציות והנתונים בפרופיל הזה יימחקו."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"מחק"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"בטל"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"כדי להמשיך בהגדרת פרופיל העבודה, יהיה עליך להצפין את המכשיר. הפעולה הזו עשויה להימשך זמן מה."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"כדי להמשיך בהגדרת המכשיר, עליך להצפין אותו. הפעולה הזו עשויה להימשך זמן מה."</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="6193230832887977927">"על המשתמש הראשי במכשיר להגדיר את פרופילי העבודה"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"לא ניתן היה ליצור את פרופיל העבודה מפני שמספר המשתמשים המקסימלי כבר הוגדר במכשיר. הסר משתמש אחד לפחות ונסה שוב."</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_work_device" msgid="3028145936574439146">"הגדרת המכשיר"</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..3b4e581
--- /dev/null
+++ b/res/values-ja/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"エラー"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"プロフィールのセットアップ"</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="delete_profile_title" msgid="3097803266123463699">"ワークプロフィールの削除"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"このワークプロフィールは次のアプリによって管理されています:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"この「%s」のワークプロフィールは次のアプリによって管理されています:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"続行する前に、"<a href="#read_this_link">"こちらをお読みください"</a>"。"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"続行すると、このプロフィール内のアプリとデータはすべて削除されます。"</string>
+    <string name="delete_profile" msgid="2299218578684663459">"削除"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"キャンセル"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"ワークプロフィールのセットアップを続行するには、端末を暗号化する必要があります。これにはしばらく時間がかかる場合があります。"</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"端末のセットアップを続行するには、端末を暗号化する必要があります。これにはしばらく時間がかかる場合があります。"</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="6193230832887977927">"ワークプロフィールは端末のメインユーザーがセットアップする必要があります"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"端末のユーザー数が上限に達しているためワークプロフィールを作成できません。ユーザーをいくつか削除してもう一度お試しください。"</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_work_device" msgid="3028145936574439146">"端末のセットアップ"</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..bd78f9f
--- /dev/null
+++ b/res/values-ka-rGE/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"უკაცრავად!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"თქვენი პროფილის დაყენება"</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="delete_profile_title" msgid="3097803266123463699">"წავშალოთ სამუშაო პროფილი?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"ამ სამუშაო პროფილს მართავს:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"ამ სამუშაო პროფილის მართვა ხორციელდება %s-სთვის, რა დროსაც გამოიყენება:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"გთხოვთ, გაგრძელებამდე "<a href="#read_this_link">"წაიკითხოთ ეს"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"თუ გააგრძელებთ, წაიშლება ყველა აპი და მონაცემი ამ პროფილში."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"წაშლა"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"გაუქმება"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"თქვენი სამუშაო პროფილის შექმნის გასაგრძელებლად, უნდა დაშიფროთ თქვენი მოწყობილობა. ამას შესაძლოა გარკვეული დრო დასჭირდეს."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"თქვენი მოწყობილობის პარამეტრების დაყენების გაგრძელებისათვის, თქვენ უნდა დაშიფროთ თქვენი მოწყობილობა. ამას შესაძლოა დაჭირდეს გარკვეული დრო."</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="6193230832887977927">"სამუშაო პროფილების უნდა შეიქმნას მოწყობილობის პირველადი მომხმარებლის მიერ"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"სამუშაო პროფილი ვერ შეიქმნება, რადგან მიღწეულია თქვენი მოწყობილობის მომხმარებლების მაქსიმალური რაოდენობა. გთხოვთ ამოშალოთ მინიმუმ ერთი მომხმარებელი და ხელახლა სცადოთ."</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_work_device" msgid="3028145936574439146">"თქვენი მოწყობილობის დაყენება"</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..ec4286f
--- /dev/null
+++ b/res/values-kk-rKZ/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Ой!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"Профильді реттеу"</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="delete_profile_title" msgid="3097803266123463699">"Жұмыс проф. жою керек пе?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Бұл жұмыс профилін басқарады:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Бұл жұмыс профилі %s пайдалану үшін басқарылады:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Жалғастырудан бұрын "<a href="#read_this_link">"осыны"</a>" оқыңыз."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Жалғастырсаңыз, осы профильдегі барлық бағдарламалар мен деректер жойылады."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Жою"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Бас тарту"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Жұмыс профиліңізді реттеуді жалғастыру үшін құрылғыңызды шифрлауыңыз керек. Бұл біраз уақыт алуы мүмкін."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Құрылғыны реттеуді жалғастыру үшін құрылғыны шифрлау керек. Бұл біраз уақыт алуы мүмкін."</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="6193230832887977927">"Жұмыс профильдерін құрылғының негізгі пайдаланушысы реттеуі керек"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Жұмыс профилін жасау мүмкін болмады, өйткені құрылғыдағы пайдаланушылардың ең көп саны шегіне жетті. Кемінде бір пайдаланушыны жойыңыз және әрекетті қайталаңыз."</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_work_device" msgid="3028145936574439146">"Құрылғыны реттеу"</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..9bcb798
--- /dev/null
+++ b/res/values-km-rKH/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"អូ​!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"រៀបចំទម្រង់របស់អ្នក"</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="delete_profile_title" msgid="3097803266123463699">"លុបប្រវត្តិរូបការងារ?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"ប្រវត្តិរូបការងារនេះត្រូវបានគ្រប់គ្រងដោយ៖"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"ប្រវត្តិរូបការងារនេះត្រូវបានគ្រប់គ្រងសម្រាប់ការប្រើប្រាស់ %s"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"សូម"<a href="#read_this_link">"អានចំណុចនេះ"</a>"មុនពេលបន្ត។"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"កម្មវិធី និងទិន្នន័យទាំងអស់នៅក្នុងប្រវត្តិរូបនេះនឹងត្រូវលុប ប្រសិនបើអ្នកបន្ត។"</string>
+    <string name="delete_profile" msgid="2299218578684663459">"លុប"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"បោះបង់"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"ដើម្បីបន្តរៀបចំទម្រង់ការងាររបស់អ្នក អ្នកត្រូវអ៊ិនគ្រីបឧបករណ៍របស់អ្នក។ វាអាចប្រើពេលមួយរយៈ។"</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"ដើម្បីបន្តការរៀបចំឧបករណ៍របស់អ្នក អ្នកត្រូវអ៊ិនគ្រីបឧបករណ៍របស់អ្នក។ វាអាចចំណាយពេលបន្តិច។"</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="6193230832887977927">"ប្រវត្តិការងារត្រូវកំណត់ដោយអ្នកប្រើបឋមនៃឧបករណ៍នេះ"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"ទម្រង់ការងារមិនអាចបង្កើតបានទេ ពីព្រោះចំនួនអ្នកប្រើនៅលើឧបករណ៍របស់អ្នកបានឈានដល់កម្រិតអតិបរមាហើយ។ សូមយកអ្នកប្រើយ៉ាងហោចណាស់មួយចេញ។"</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_work_device" msgid="3028145936574439146">"រៀបចំឧបករណ៍របស់អ្នក"</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..edba29c
--- /dev/null
+++ b/res/values-kn-rIN/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"ಓಹ್!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"ನಿಮ್ಮ ಪ್ರೊಫೈಲ್ ಹೊಂದಿಸಿ"</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="delete_profile_title" msgid="3097803266123463699">"ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್‌ ತೆಗೆದುಹಾಕುವುದೇ?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"ಈ ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್ ಅನ್ನು ಇವರು ನಿರ್ವಹಿಸುತ್ತಿದ್ದಾರೆ:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"ಈ ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್ ಅನ್ನು %s ಬಳಸಲು ನಿರ್ವಹಿಸಲಾಗಿದೆ:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"ಮುಂದುವರಿಯುವುದಕ್ಕಿಂತ ಮೊದಲು "<a href="#read_this_link">"ಇದನ್ನು ಓದಿ"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"ನೀವು ಮುಂದುವರಿಸಿದರೆ ಈ ಪ್ರೊಫೈಲ್‌ನಲ್ಲಿನ ಎಲ್ಲಾ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಮತ್ತು ಡೇಟಾವನ್ನು ಅಳಿಸಲಾಗುವುದು."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"ಅಳಿಸಿ"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"ರದ್ದುಮಾಡು"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"ನಿಮ್ಮ ಕೆಲಸದ ಪ್ರೊಫೈಲ್‌ ಹೊಂದಿಸುವುದನ್ನು ಮುಂದುವರಿಸಲು, ನಿಮ್ಮ ಸಾಧನವನ್ನು ನೀವು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಬೇಕಾದ ಅಗತ್ಯವಿದೆ. ಇದು ಸ್ವಲ್ಪ ಸಮಯವನ್ನು ತೆಗೆದುಕೊಳ್ಳಬಹುದು."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"ನಿಮ್ಮ ಸಾಧನವನ್ನು ಹೊಂದಿಸುವುದನ್ನು ಮುಂದುವರಿಸಲು, ನಿಮ್ಮ ಸಾಧನವನ್ನು ನೀವು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಬೇಕಾದ ಅಗತ್ಯವಿದೆ. ಇದಕ್ಕೆ ಸ್ವಲ್ಪ ಸಮಯ ತೆಗೆದುಕೊಳ್ಳಬಹುದು."</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="6193230832887977927">"ಕೆಲಸದ ಪ್ರೊಫೈಲ್‌ಗಳನ್ನು ಸಾಧನದ ಪ್ರಾಥಮಿಕ ಬಳಕೆದಾರರು ಹೊಂದಿಸುವ ಅಗತ್ಯವಿದೆ"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ಬಳಕೆದಾರರ ಗರಿಷ್ಠ ಸಂಖ್ಯೆ ತಲುಪಿರುವ ಕಾರಣ ಕೆಲಸದ ಪ್ರೊಫೈಲ್‌ ರಚಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. ದಯವಿಟ್ಟು ಕನಿಷ್ಠ ಒಬ್ಬ ಬಳಕೆದಾರರನ್ನು ತೆಗೆದುಹಾಕಿ ಹಾಗೂ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ."</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_work_device" msgid="3028145936574439146">"ನಿಮ್ಮ ಸಾಧನವನ್ನು ಹೊಂದಿಸಿ"</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..0cf858b
--- /dev/null
+++ b/res/values-ko/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"이런!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"프로필 설정"</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="delete_profile_title" msgid="3097803266123463699">"직장 프로필을 삭제하시겠습니까?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"다음에서 이 직장 프로필을 관리합니다."</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"이 직장 프로필은 다음을 사용하여 %s에 대해 관리됩니다."</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"계속하기 전에 "<a href="#read_this_link">"다음을 참조"</a>"하시기 바랍니다."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"계속하면 프로필의 모든 앱과 데이터가 삭제됩니다."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"삭제"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"취소"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"직장 프로필 설정을 계속하려면 기기를 암호화해야 합니다. 이 작업은 다소 시간이 걸릴 수 있습니다."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"설정을 계속하려면 기기를 암호화해야 합니다. 이 작업은 다소 시간이 걸릴 수 있습니다."</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="6193230832887977927">"직장 프로필은 기기의 기본 사용자가 설정해야 합니다."</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"기기에 허용되는 최대 사용자 수에 도달하여 직장 프로필을 만들 수 없습니다. 하나 이상의 사용자 프로필을 삭제하고 다시 시도해 주세요."</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_work_device" msgid="3028145936574439146">"기기 설정"</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..4c878fb
--- /dev/null
+++ b/res/values-ky-rKG/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Ой!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"Профилиңизди орнотуңуз"</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="delete_profile_title" msgid="3097803266123463699">"Жумуш профили алынып салынсынбы?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Бул жумуш профилин төмөнкү башкарат:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Бул жумуш профили %s үчүн төмөнкү аркылуу башкарылат:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Улантуудан мурун "<a href="#read_this_link">"муну окуп чыгыңыз"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Эгер улантсаңыз бул профилдеги колдонмолор менен дайындардын баары жок кылынат."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Жок кылуу"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Жокко чыгаруу"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Жумуш профилиңизди орнотууну улантуу үчүн, түзмөгүңүздү шифрлешиңиз керек. Буга бир аз убакыт талап кылынышы мүмкүн."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Түзмөгүңүздү орнотууну улантуу үчүн, түзмөгүңүздү шифрлешиңиз керек болот. Ал бир нече убакыт алышы мүмкүн."</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="6193230832887977927">"Жумуш профилдери түзмөктүн негизги колдонуучусу тарабынан орнотулушу керек"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Түзмөгүңүздөгү колдонуучулардын саны жогорку чегине жеткендиктен жумуш профили түзүлбөй койду. Кеминде бир колдонуучуну алып салып, кайра кайталаңыз."</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_work_device" msgid="3028145936574439146">"Түзмөгүңүздү орнотуңуз"</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-land/styles.xml b/res/values-land/styles.xml
index 00f4ae8..38976af 100644
--- a/res/values-land/styles.xml
+++ b/res/values-land/styles.xml
@@ -24,7 +24,9 @@
       <item name="android:colorPrimary">@color/teal</item>
       <item name="android:colorAccent">@color/accent</item>
       <!-- Match the status bar to the header rather than the image, only for landscape, small -->
-      <item name="android:colorPrimaryDark">@color/accent</item>
+      <item name="android:colorPrimaryDark">@color/teal</item>
+      <item name="setup_wizard_navbar_theme">@style/setup_wizard_navbar_theme_light</item>
+      <item name="android:windowAnimationStyle">@style/Animation.SetupWizard</item>
     </style>
 
 </resources>
diff --git a/res/values-large/styles.xml b/res/values-large/styles.xml
index a60f61c..3c8e36d 100644
--- a/res/values-large/styles.xml
+++ b/res/values-large/styles.xml
@@ -24,7 +24,9 @@
       <item name="android:windowNoTitle">true</item>
       <item name="android:colorPrimary">@color/teal</item>
       <item name="android:colorAccent">@color/dark_turquoise</item>
-      <item name="android:colorPrimaryDark">@color/light_teal</item>
+      <item name="android:colorPrimaryDark">@color/dark_teal</item>
+      <item name="setup_wizard_navbar_theme">@style/setup_wizard_navbar_theme_light</item>
+      <item name="android:windowAnimationStyle">@style/Animation.SetupWizard</item>
     </style>
 
     <style name="HeaderImage">
@@ -37,8 +39,8 @@
     </style>
 
     <style name="HeaderImageTile">
-        <item name="android:layout_width">fill_parent</item>
-        <item name="android:layout_height">fill_parent</item>
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">match_parent</item>
         <item name="android:gravity">left</item>
         <item name="android:scaleType">fitXY</item>
         <item name="android:src">@drawable/setup_illustration_right</item>
diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo-rLA/strings.xml
new file mode 100644
index 0000000..941c675
--- /dev/null
+++ b/res/values-lo-rLA/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"ອຸຍ!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"​ຕັ້ງ​ຄ່າ​ໂປ​ຣ​ໄຟລ໌​ຂອງ​ທ່ານ"</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="delete_profile_title" msgid="3097803266123463699">"ລຶບ​ໂປຣ​ໄຟລ໌​ບ່ອນ​ເຮັດ​ວຽກບໍ?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"ໂປຣໄຟລບ່ອນເຮັດວຽກນີ້ຖືກຈັດການໂດຍ:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"ມີການຈັດການໂປຣໄຟລບ່ອນເຮັດວຽກສໍາລັບ %s ການໃຊ້:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"ກະລຸນາ "<a href="#read_this_link">"ອ່ານ"</a>" ນີ້ກ່ອນດຳເນີນການຕໍ່."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"ແອັບ ແລະຂໍ້ມູນທັງໝົດໃນໂປຣໄຟລນີ້ຈະຖືກລຶບຖ້າທ່ານສືບຕໍ່."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"​ລຶບ"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"​ຍົກ​ເລີກ"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"​ເພື່ອ​ສືບ​ຕໍ່​ຕັ້ງ​ຄ່າ​ໂປຣ​ໄຟລ໌​ບ່ອນ​ເຮັດ​ວຽກ​ຂອງ​ທ່ານ, ທ່ານ​ຈະ​ຕ້ອງ​ເຂົ້າ​ລະ​ຫັດ​ອຸ​ປະ​ກອນ​ຂອງ​ທ່ານ​ກ່ອນ. ຂັ້ນ​ຕອນ​ນີ້​ຈະ​ໃຊ້​ເວ​ລາ​ໄລ​ຍະ​ນຶ່ງ."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"ເພື່ອ​ສືບ​ຕໍ່​ການ​ຕັ້ງ​ອຸ​ປະ​ກອນ​ຂອງ​ທ່ານ, ທ່ານ​ຈະ​ຕ້ອງ​ໃສ່​ລະ​ຫັດ​ອຸ​ປະ​ກອນ​ຂອງ​ທ່ານ. ອັນ​ນີ້​ອາດ​ຈະ​ໃຊ້​ເວ​ລາ​ຈັກ​ໜ້ອຍ."</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="6193230832887977927">"ໂປ​ຣ​ໄຟ​ລ໌​ຕ້ອງ​ໄດ້​ຕັ້ງ​ຂຶ້ນ​ໂດຍ​ຜູ້​ໃຊ້​ອຸ​ປະ​ກອນ​ຕົ້ນ​ຕໍ"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"ບໍ່​ສາ​ມາດ​ສ້າງ​ໂປ​ຣ​ໄຟ​ລ໌​ວຽກ​ໄດ້ ເນື່ອງ​ຈາກ​ຮອດ​ຈຳ​ນວນ​ຜູ້​ໃຊ້​ສູງ​ສຸດ​ຢູ່​ໃນ​ອຸ​ປະ​ກອນ​ຂອງ​ທ່ານ​ແລ້ວ. ກະ​ລຸ​ນາ​ເອົາ​ຜູ້​ໃຊ້​ຄົນ​ໜຶ່ງ​ອອກ​ເປັນ​ຢ່າງ​ໜ້ອຍ ແລະ​ລອງ​ໃໝ່​ອີກ."</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_work_device" msgid="3028145936574439146">"ຕັ້ງ​ຄ່າ​ອຸ​ປະ​ກອນ​ຂອງ​ທ່ານ"</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..91808f8
--- /dev/null
+++ b/res/values-lt/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Oi!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"Profilio sąranka"</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="delete_profile_title" msgid="3097803266123463699">"Pašalinti darbo profilį?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Šį darbo profilį tvarko:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Šis darbo profilis tvarkomas %s naudojant:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Prieš tęsdami "<a href="#read_this_link">"perskaitykite šią informaciją"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Jei tęsite, visos šio profilio programos ir duomenys bus ištrinti."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Ištrinti"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Atšaukti"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Jei norite tęsti darbo profilio sąranką, turite šifruoti įrenginį. Tai gali šiek tiek užtrukti."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Jei norite tęsti įrenginio 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="6193230832887977927">"Darbo profilius turi nustatyti įrenginio pagrindinis naudotojas"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Nepavyko sukurti darbo profilio, nes buvo pasiektas maksimalus naudotojų skaičius įrenginyje. Pašalinti bent vieną naudotoją ir bandykite dar kartą."</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_work_device" msgid="3028145936574439146">"Įrenginio sąranka"</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..db13782
--- /dev/null
+++ b/res/values-lv/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Hmm..."</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"Profila iestatīšana"</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="delete_profile_title" msgid="3097803266123463699">"Vai noņemt darba profilu?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Šis darba profils tiek pārvaldīts, izmantojot:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Šis darba profils tiek pārvaldīts domēnā %s, izmantojot:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Pirms turpināt, lūdzu, "<a href="#read_this_link">"izlasiet šo informāciju"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Ja turpināsiet, visas lietotnes un dati šajā profilā tiks dzēsti."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Dzēst"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Atcelt"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"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_text_for_device_owner_setup" msgid="7279768314707033707">"Lai turpinātu ierīces 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="6193230832887977927">"Ierīces galvenajam lietotājam ir jāiestata darba profili."</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Nevarēja izveidot darba profilu, jo ierīcē ir sasniegts maksimālais lietotāju skaits. Lūdzu, noņemiet vismaz vienu lietotāju un mēģiniet vēlreiz."</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_work_device" msgid="3028145936574439146">"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..613d2c8
--- /dev/null
+++ b/res/values-mk-rMK/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Оф леле!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"Поставете го вашиот профил"</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="delete_profile_title" msgid="3097803266123463699">"Да се отстрани работниот профил?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Овој работен профил е управуван од:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Овој работен профил е управуван за %s со користење на:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659"><a href="#read_this_link">"Прочитајте го ова"</a>" пред да продолжите."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Сите апликации и податоци на профилот ќе се избришат ако продолжите."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Избриши"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Откажи"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"За да продолжите со поставување на работниот профил, ќе треба да го шифрирате уредот. Тоа може да потрае."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"За да продолжите со поставување на уредот, ќе треба да го шифрирате уредот. Тоа може да потрае."</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="6193230832887977927">"Работните профили треба да ги постави примарниот корисник на уредот"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Не може да се создаде работен профил бидејќи е достигнат максималниот број корисници на вашиот уред. Отстранете барем еден корисник и обидете се повторно."</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_work_device" msgid="3028145936574439146">"Поставете го уредот"</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..f9353e3
--- /dev/null
+++ b/res/values-ml-rIN/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"ക്ഷമിക്കണം!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"നിങ്ങളുടെ പ്രൊഫൈല്‍ സജ്ജമാക്കുക"</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="delete_profile_title" msgid="3097803266123463699">"ഔദ്യോഗിക പ്രൊഫൈൽ നീക്കംചെയ്യണോ?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"ഈ വർക്ക് പ്രൊഫൈൽ നിയന്ത്രിക്കുന്നത്:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"ഇതുപയോഗിക്കുന്ന %s എന്നതിനായാണ് ഈ ഔദ്യോഗിക പ്രൊഫൈൽ നിയന്ത്രിക്കുന്നത്:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"തുടരുന്നതിനുമുമ്പ് "<a href="#read_this_link">"ഇത് വായിക്കുക"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"നിങ്ങൾ തുടരുകയാണെങ്കിൽ ഈ പ്രൊഫൈലിലെ എല്ലാ അപ്ലിക്കേഷനുകളും ഡാറ്റയും ഇല്ലാതാക്കും."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"ഇല്ലാതാക്കുക"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"റദ്ദാക്കുക"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"നിങ്ങളുടെ ഔദ്യോഗിക പ്രൊഫൈൽ സജ്ജീകരിക്കുന്നത് തുടരാൻ, നിങ്ങളുടെ ഉപകരണം എൻക്രിപ്റ്റ് ചെയ്യേണ്ടതുണ്ട്. ഇതിന് കുറച്ച് സമയമെടുത്തേക്കാം."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"നിങ്ങളുടെ ഉപകരണം സജ്ജീകരിക്കുന്നത് തുടരാൻ, ഉപകരണം എൻക്രിപ്‌റ്റ് ചെയ്യേണ്ടതുണ്ട്. ഇതിന് കുറച്ച് സമയമെടുക്കാം."</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="6193230832887977927">"ഉപകരണത്തിന്റെ പ്രാഥമിക ഉപയോക്താവ് ഔദ്യോഗിക പ്രൊഫൈലുകൾ സജ്ജീകരിക്കേണ്ടതുണ്ട്"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"നിങ്ങളുടെ ഉപകരണത്തിൽ പരമാവധി ഉപയോക്താക്കൾ ഉള്ളതുകൊണ്ട് ഔദ്യോഗിക പ്രൊഫൈൽ സൃഷ്‌ടിക്കാനായില്ല. ഒരു ഉപയോക്താവിനെയെങ്കിലും നീക്കംചെയ്‌തുകൊണ്ട് ശ്രമിക്കുക."</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_work_device" msgid="3028145936574439146">"നിങ്ങളുടെ ഉപകരണം സജ്ജീകരിക്കുക"</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..da3fd33
--- /dev/null
+++ b/res/values-mn-rMN/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Алдаа!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"Өөрийн профайлыг тохируулна уу"</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="delete_profile_title" msgid="3097803266123463699">"Ажлын профайлыг устгах"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Энэ ажлын профайлыг удирдагч нь:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Дараахын тусламжтайгаар энэхүү ажлын профайлыг %s-д зориулан удирддаг."</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Үргэлжлүүлэхээсээ өмнө "<a href="#read_this_link">"үүнийг уншина уу"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Хэрэв та үргэлжлүүлвэл энэ профайлын бүх апп болон дата устгагдах болно."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Устгах"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Цуцлах"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Ажлын профайлыг үргэлжлүүлэн суулгахын тулд өөрийн төхөөрөмжийг шифрлэх шаардлагатай. .Энэ процессийг гүйцэтгэхэд тодорхой хугацаа шаардагдах магадлалтай."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Та төхөөрөмж дээрх тохиргоог хийхийн тулд өөрийн төхөөрөмжийг шифрлэх шаардлагатай. Энэ процессийг гүйцэтгэхэд тодорхой хугацаа шаардагдах магадлалтай."</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="6193230832887977927">"Ажлын танилцуулгыг төхөөрөмжийн үндсэн хэрэглэгч тохируулах шаардлагатай"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Ажлын профайл үүсгэх боломжгүй байна учир нь энэ төхөөрөмж дээрх хэрэглэгчдийн дээд хязгаарт хүрсэн байна. Хамгийн багадаа нэг хэрэглэгч усгасны дараагаар дахин хандана уу."</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_work_device" msgid="3028145936574439146">"Төхөөрөмжөө тохируулна уу"</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..b2f2f52
--- /dev/null
+++ b/res/values-mr-rIN/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"अरेरे!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"आपले प्रोफाईल सेट करा"</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="delete_profile_title" msgid="3097803266123463699">"कार्य प्रोफाईल काढायचे?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"हे कार्य प्रोफाईल याद्वारे व्यवस्थापित केले आहे:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"हे कार्य प्रोफाईल %s वापरासाठी व्यवस्थापित केले आहे:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"कृपया पुढे जाण्यापूर्वी "<a href="#read_this_link">"हे वाचा"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"आपण सुरु ठेवल्यास या प्रोफाईलमधील सर्व अॅप्स आणि डेटा हटविला जाईल."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"हटवा"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"रद्द करा"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"आपले कार्य प्रोफाईल सेट करणे सुरु ठेवण्‍यासाठी, आपल्‍याला आपले डिव्हाइस कूटबद्ध करणे आवश्‍यक असेल. यास कदाचित काही वेळ लागू शकतो."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"आपले डिव्हाइस सेट करणे सुरु ठेवण्यासाठी, आपल्याला आपले डिव्हाइस कूटबद्ध करणे आवश्यक असेल. यास कदाचित काही वेळ लागू शकतो."</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="6193230832887977927">"कार्य प्रोफाईल डिव्हाइसच्या प्राथमिक वापरकर्त्याद्वारे सेट केले जाण्याची आवश्यकता आहे"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"कार्य प्रोफाईल आपल्या डिव्हाइसवर पोहोचलेल्या वापरकर्त्यांची कमाल संख्या तयार करू शकले नाही. कृपया कमीत कमी एक वापरकर्ता काढा आणि पुन्हा प्रयत्न करा."</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_work_device" msgid="3028145936574439146">"आपले डिव्हाइस सेट करा"</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..cb7f590
--- /dev/null
+++ b/res/values-ms-rMY/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Op!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"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="delete_profile_title" msgid="3097803266123463699">"Alih keluar profil kerja?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Profil kerja ini diurus oleh:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Profil kerja ini diurus untuk %s menggunakan:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Sila "<a href="#read_this_link">"baca ini"</a>" sebelum meneruskan."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Semua apl dan data dalam profil ini akan dipadamkan jika anda meneruskan."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Padam"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Batal"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Untuk meneruskan penyediaan profil kerja anda, anda perlu menyulitkan peranti anda. Proses ini boleh mengambil masa yang lama."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Untuk meneruskan penyediaan peranti anda, anda perlu menyulitkan peranti itu. Proses ini boleh mengambil masa yang lama."</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="6193230832887977927">"Profil kerja perlu disediakan oleh pengguna utama peranti"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Profil kerja tidak dapat dibuat kerana bilangan maksimum pengguna pada peranti anda telah dicapai. Sila keluarkan sekurang-kurangnya seorang pengguna dan cuba lagi."</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_work_device" msgid="3028145936574439146">"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..02615f6
--- /dev/null
+++ b/res/values-my-rMM/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"အူးပ်စ်!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"သင်၏ ပရိုဖိုင်ကို စဖွင့်သတ်မှတ်ရန်"</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="delete_profile_title" msgid="3097803266123463699">"အလုပ်ပရိုဖိုင် ဖယ်မည်လား?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"ဤအလုပ်ပရိုဖိုင်အား စီမံခန့်ခွဲသည်မှာ-"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"ဤအလုပ်ပရိုဖိုင်အား ဖော်ပြပါအား သုံးရန်အတွက် စီမံသည်-"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"ရှေ့ဆက်မသွားမီ ကျေးဇူးပြု၍ "<a href="#read_this_link">"ဤအရာအား ဖတ်ပါ"</a>"။"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"သင် ရှေ့ဆက်သွားပါက ဤပရိုဖိုင်ရှိ appများနှင့် ဒေတာ အားလုံးကို ဖျက်ပစ်မည်။"</string>
+    <string name="delete_profile" msgid="2299218578684663459">"ဖျက်ရန်"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"ထားတော့"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"သင့် အလုပ်ပရိုဖိုင်ကို ဆက်လက် တပ်ဆင်သတ်မှတ်ရန်၊ သင့်စက်အား လျှို့ဝှက်ကုဒ် သွင်းရမည်။ အချိန်အနည်းငယ် ကြာနိုင်သည်။"</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"သင့်စက်ပစ္စည်းအား ဆက်လက် တပ်ဆင်ရန်၊ သင့်စက်ပစ္စည်းအား လုံခြုံအောင်ပြုလုပ်ရန် လိုအပ်သည်။ ၎င်းသည် အချိန်အနည်းငယ် ယူရပါမည်။"</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="6193230832887977927">"စက်ပစ္စည်း၏ ပင်မအသုံးပြုသူမှ အလုပ်ပရိုဖိုင်အား သက်မှတ်ရပါမည်။"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"သင့်စပစ္စည်းတွင် အသုံးပြုသူအရေအတွက် အများဆုံးသို့ရောက်နေပြီဖြစ်သောကြောင့် အလုပ်ပရိုဖိုင် ဖန်တီး၍မရနိုင်ပါ။ ကျေးဇူးပြု၍ အနည်းဆုံး အသုံးပြုသူ တစ်ယောက်ကို ဖယ်ရှားကာ ထပ်မံကြိုးစားပါ။"</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_work_device" msgid="3028145936574439146">"သင်၏ ကိရိယာကို စဖွင့်သတ်မှတ်ရန်"</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..6cbe9c3
--- /dev/null
+++ b/res/values-nb/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Beklager!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"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="delete_profile_title" msgid="3097803266123463699">"Vil du fjerne arbeidsprofilen?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Denne arbeidsprofilen administreres av:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Denne arbeidsprofilen er administrert for %s med:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659"><a href="#read_this_link">"Les dette "</a>" før du fortsetter."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Hvis du fortsetter, blir alle appene og dataene i denne profilen slettet."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Slett"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Avbryt"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Hvis du vil fortsette konfigurasjonen av arbeidsprofilen, må du kryptere enheten din. Dette kan ta en stund."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Hvis du vil fortsette konfigurasjonen av enheten, må du kryptere den. 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="6193230832887977927">"Arbeidsprofiler må konfigureres av hovedbrukeren av enheten"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Arbeidsprofilen kunne ikke opprettes fordi det maksimale antallet brukere på enheten er nådd. Fjern minst én bruker og prøv på nytt."</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_work_device" msgid="3028145936574439146">"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..c49d2df
--- /dev/null
+++ b/res/values-ne-rNP/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"ओहो!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"आफ्नो प्रोफाइल सेट अप गर्नुहोस्"</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="delete_profile_title" msgid="3097803266123463699">"कार्य प्रोफाइल हटाउने हो?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"द्वारा यो काम प्रोफाइल व्यवस्थित गरिएको छ:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"%s प्रयोगको लागि यो कार्य प्रोफाइल व्यवस्थित गरिएको छ:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"कृपया अगाडि बढ्नुभन्दा पहिले"<a href="#read_this_link">" यो पढ्नुहोस् "</a>"।"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"यदि तपाईँले जारी राख्नुभयो भने यो प्रोफाइलका सबै अनुप्रयोगहरू र डेटा मेटाइने छन्।"</string>
+    <string name="delete_profile" msgid="2299218578684663459">"मेटाउनुहोस्"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"रद्द गर्नुहोस्"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"आफ्नो कार्य प्रोफाइल सेटिङ गर्ने काम  जारी राख्न, तपाईंले आफ्नो यन्त्रलाई इनक्रिप्ट गर्नु पर्नेछ। यसले केही समय लिन सक्छ।"</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"आफ्नो यन्त्र सेटिङ गर्ने काम जारी राख्न, तपाईंले आफ्नो यन्त्रलाई इनक्रिप्ट गर्नु पर्नेछ। यसले केही समय लिन सक्छ।"</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="6193230832887977927">"कार्य प्रोफाइल उपकरणको प्राथमिक प्रयोगकर्ताद्वारा स्थापना गर्न आवश्यक छ"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"कार्य प्रोफाइल प्रयोगकर्ताहरूको अधिकतम संख्यामा सिर्जना गर्न नसकिनेको रुपमा पुगेको छ। कृपया कम्तिमा एउटा प्रयोगकर्ता हटाउनुहोस् र पुन: प्रयास गर्नुहोस्।"</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_work_device" msgid="3028145936574439146">"आफ्नो यन्त्र सेट अप गर्नुहोस्"</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..d5e016a
--- /dev/null
+++ b/res/values-nl/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Oeps!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"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="delete_profile_title" msgid="3097803266123463699">"Werkprofiel verwijderen?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Dit werkprofiel wordt beheerd door:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Dit werkprofiel wordt beheerd voor %s via:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659"><a href="#read_this_link">"Lees dit"</a>" voordat u doorgaat."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Alle apps en gegevens in dit profiel worden verwijderd als u doorgaat."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Verwijderen"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Annuleren"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Als u wilt doorgaan met het instellen van uw werkprofiel, moet u uw apparaat versleutelen. Dit kan even duren."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Als u wilt doorgaan met het instellen van uw apparaat, 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="6193230832887977927">"Werkprofielen moeten worden ingesteld door de primaire gebruiker van het apparaat"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Werkprofiel kan niet worden gemaakt omdat het maximumaantal gebruikers op uw apparaat is bereikt. Verwijder ten minste één gebruiker en probeer het opnieuw."</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_work_device" msgid="3028145936574439146">"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..37690db
--- /dev/null
+++ b/res/values-pl/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Ups!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"Konfigurowanie profilu"</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="delete_profile_title" msgid="3097803266123463699">"Usunąć profil do pracy?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Tym profilem do pracy zarządza:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Tym profilem do pracy w %s zarządza:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Zanim przejdziesz dalej, "<a href="#read_this_link">"przeczytaj to"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Jeśli będziesz kontynuować, wszystkie aplikacje i dane w tym profilu zostaną usunięte."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Usuń"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Anuluj"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Aby kontynuować konfigurowanie profilu do pracy, musisz zaszyfrować swoje urządzenie. Może to trochę potrwać."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Aby kontynuować konfigurowanie urządzenia, musisz je zaszyfrować. 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="6193230832887977927">"Profile do pracy musi skonfigurować główny użytkownik urządzenia"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Nie można utworzyć profilu do pracy, bo na urządzeniu jest już maksymalna liczba użytkowników. Usuń co najmniej jednego użytkownika i spróbuj ponownie."</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_work_device" msgid="3028145936574439146">"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..02a1ac1
--- /dev/null
+++ b/res/values-pt-rPT/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Ups!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"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="delete_profile_title" msgid="3097803266123463699">"Pretende remover o perfil de trabalho?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Este perfil de trabalho é gerido por:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Este perfil de trabalho é gerido por %s através de:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659"><a href="#read_this_link">"Leia isto"</a>" antes de continuar."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Se continuar, todas as aplicações e todos os dados são eliminados."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Eliminar"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Cancelar"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Para continuar a configuração do seu perfil de trabalho, tem de encriptar o dispositivo. Esta ação poderá demorar algum tempo."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Para continuar a configuração do seu dispositivo, tem de o encriptar. Esta ação pode 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="6193230832887977927">"Os perfis de trabalho têm de ser configurados pelo utilizador principal do dispositivo"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Não foi possível criar um perfil de trabalho uma vez que foi atingido o número máximo de utilizadores no dispositivo. Remova, no mínimo, um utilizador e tente novamente."</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_work_device" msgid="3028145936574439146">"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..3e5faf1
--- /dev/null
+++ b/res/values-pt/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Epa!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"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="delete_profile_title" msgid="3097803266123463699">"Remover perfil de trabalho?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"O perfil de trabalho é gerenciado por:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"O perfil de trabalho é gerenciado por %s usando:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659"><a href="#read_this_link">"Leia isto"</a>" antes de prosseguir."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Todos os apps e dados desse perfil serão excluídos se você continuar."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Excluir"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Cancelar"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Para continuar a configuração do perfil de trabalho, você precisará criptografar o dispositivo. Isso pode demorar algum tempo."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Para continuar a configuração do seu dispositivo, você precisará criptografá-lo. Isso pode demorar 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="6193230832887977927">"Os perfis de trabalho devem ser configurados pelo usuário principal do dispositivo"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Não foi possível criar o perfil de trabalho, pois o número máximo de usuários no seu dispositivo foi atingido. Remova pelo menos um usuário e tente novamente."</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_work_device" msgid="3028145936574439146">"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..94e1c2b
--- /dev/null
+++ b/res/values-ro/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Hopa!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"Configurați 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="delete_profile_title" msgid="3097803266123463699">"Eliminați profilul de serviciu?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Acest profil de serviciu este gestionat de:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Acest profil de serviciu este gestionat pentru %s folosind:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659"><a href="#read_this_link">"Citiți aceste informații"</a>" înainte de a continua."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"În cazul în care continuați, toate aplicațiile și datele din acest profil vor fi șterse."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Ștergeți"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Anulați"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Pentru a continua configurarea profilului de serviciu, va trebui să criptați dispozitivul. Acest proces poate dura un timp."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Pentru a continua configurarea dispozitivului, va trebui să criptați dispozitivul. Acest proces poate dura un 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="6193230832887977927">"Profilurile de serviciu trebuie să fie configurate de utilizatorul principal al dispozitivului"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Profilul de serviciu nu a putut fi creat, deoarece pe dispozitiv s-a atins numărul maxim de utilizatori. Eliminați cel puțin un utilizator și încercați din nou."</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_work_device" msgid="3028145936574439146">"Configurați dispozitivul"</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..182c94c
--- /dev/null
+++ b/res/values-ru/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Ошибка"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"Настройка профиля"</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="delete_profile_title" msgid="3097803266123463699">"Удалить рабочий профиль?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Профилем управляет"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Профиль находится в домене %s, им управляет"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Прежде чем продолжить, ознакомьтесь с "<a href="#read_this_link">"этой информацией"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Все приложения и данные, находящиеся в этом профиле, будут удалены. Продолжить?"</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Удалить"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Отмена"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Чтобы продолжить настройку  рабочего профиля, зашифруйте данные на устройстве. Шифрование займет некоторое время."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Чтобы продолжить настройку, зашифруйте данные на устройстве. Шифрование займет некоторое время."</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="6193230832887977927">"Настройку рабочего профиля должен выполнять основной пользователь устройства"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Невозможно создать рабочий профиль, потому что на устройстве слишком много пользователей. Удалите хотя бы один аккаунт и повторите попытку."</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_work_device" msgid="3028145936574439146">"Настройка устройства"</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..1a3d48f
--- /dev/null
+++ b/res/values-si-rLK/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"අපොයි!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"ඔබගේ පැතිකඩ සකසන්න"</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="delete_profile_title" msgid="3097803266123463699">"කාර්යාල පැතිකඩ ඉවත් කරන්නද?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"මෙම කාර්යාල පැතිකඩ කළමනාකරණය කරන්නේ:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"%s සඳහා මෙම කාර්යාල පැතිකඩ මෙය භාවිතයෙන් කළමනාකරණය කෙරේ:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"ඉදිරියට යාමට පෙර කරුණාකර "<a href="#read_this_link">"මෙය කියවන්න"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"ඔබ දිගටම කරගෙන ගියහොත් මෙම පැතිකඩෙහි ඇති සියලු යෙදුම් සහ දත්ත මකනු ඇත."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"මකන්න"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"අවලංගු කරන්න"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"ඔබගේ කාර්යාල පැතිකඩේ සැකසීම ඉදිරියට කරගෙන යෑමට, ඔබගේ උපාංගය සංකේතනය කිරීමට ඔබට අවශ්‍ය වේ. මෙයට ටික වෙලාවක් ගත වේ."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"ඔබගේ උපාංගය සකස් කිරීම ඉදිරියට යෑමට, ඔබගේ උපාංගය සංකේතනය කිරීමට ඔබට අවශ්‍ය වේ. මෙයට ටික වේලාවක් ගනී."</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="6193230832887977927">"උපාංගයේ මූලික පරිශීලකයා විසින් වැඩ පැතිකඩ ස්ථාපනය කළ යුතුය"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"ඔබගේ උපාංගය මත භාවිතා කරන්නන් උපරිම සංඛ්යාව ළඟා වී ඇති බැවින් කාර්ය පැතිකඩක් නිර්මාණය කළ නොහැකි විය. කරුණාකර අඩු තරමින් එක් පරිශීලකයෙක් ඉවත් කර නැවත උත්සාහ කරන්න."</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_work_device" msgid="3028145936574439146">"ඔබගේ උපාංගය සකසන්න"</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..ee54e2a
--- /dev/null
+++ b/res/values-sk/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Ojoj!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"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="delete_profile_title" msgid="3097803266123463699">"Odstrániť pracovný profil?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Tento pracovný profil spravuje aplikácia:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Tento pracovný profil spravuje pre organizáciu %s aplikácia:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Skôr ako budete pokračovať, "<a href="#read_this_link">"prečítajte si tieto informácie"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Ak budete pokračovať, všetky aplikácie a údaje v tomto profile budú odstránené."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Odstrániť"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Zrušiť"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Ak chcete v nastavovaní pracovného profilu pokračovať, bude potrebné zariadenie zašifrovať. To môže chvíľu trvať."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Ak chcete v nastavovaní zariadenia pokračovať, budete ho musieť zašifrovať. To môže 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="6193230832887977927">"Pracovné profily musí nastaviť primárny používateľ zariadenia"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Pracovný profil nebolo možné vytvoriť, pretože ste na svojom zariadení už dosiahli maximálny počet používateľov. Odstráňte aspoň jedného používateľa a skúste to znova."</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_work_device" msgid="3028145936574439146">"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..c613f14
--- /dev/null
+++ b/res/values-sl/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Ojoj!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"Nastavitev profila"</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="delete_profile_title" msgid="3097803266123463699">"Želite odstraniti delovni profil?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Ta delovni profil upravlja:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Ta delovni profil se upravlja za domeno %s z aplikacijo:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Preden nadaljujete, "<a href="#read_this_link">"preberite to"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Če nadaljujete, bodo izbrisane vse aplikacije in podatki v tem profilu."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Izbriši"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Prekliči"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Če želite nadaljevati nastavitev delovnega profila, morate šifrirati napravo. To bo morda trajalo nekaj časa."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Če želite nadaljevati nastavitev naprave, jo morate šifrirati. To bo morda trajalo 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="6193230832887977927">"Delovne profile mora nastaviti primarni uporabnik naprave"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Delovnega profila zaradi doseženega največjega dovoljenega števila uporabnikov v napravi ni bilo mogoče ustvariti. Odstranite vsaj enega uporabnika in poskusite znova."</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_work_device" msgid="3028145936574439146">"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..288f10d
--- /dev/null
+++ b/res/values-sr/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Упс!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"Подесите профил"</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="delete_profile_title" msgid="3097803266123463699">"Уклонити профил за Work?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Овим профилом Work управља:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Овим профилом за Work се управља за %s помоћу:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659"><a href="#read_this_link">"Прочитајте ово"</a>" пре него што наставите."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Све апликације и подаци са овог профила биће избрисани ако наставите."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Избриши"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Откажи"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Да бисте наставили са подешавањем пословног профила, морате да шифрујете уређај. То може да потраје."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Да бисте наставили са подешавањем уређаја, треба да шифрујете уређај. То може да потраје."</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="6193230832887977927">"Пословне профиле треба да подеси примарни корисник уређаја"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Није успело прављење пословног профила јер је достигнут максималан број корисника на уређају. Уклоните најмање једног корисника и покушајте поново."</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_work_device" msgid="3028145936574439146">"Подесите уређај"</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..a906045
--- /dev/null
+++ b/res/values-sv/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Hoppsan!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"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="delete_profile_title" msgid="3097803266123463699">"Vill du ta bort arbetsprofilen?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Den här arbetsprofilen hanteras av:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Den här arbetsprofilen hanteras för %s med hjälp av:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659"><a href="#read_this_link">"Läs detta"</a>" innan du fortsätter."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Alla appar och all data i profilen raderas om du fortsätter."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Radera"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Avbryt"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Innan du kan fortsätta med att konfigurera arbetsprofilen måste enheten krypteras. Det kan ta en stund."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Innan du kan fortsätta med konfigureringen måste enheten krypteras. Det kan ta en stund."</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="6193230832887977927">"Jobbprofler kan bara skapas av enhetens primära användare"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Det gick inte att skapa jobbprofilen eftersom det maximala antalet användare på enheten har uppnåtts. Ta bort minst en användare och försök igen."</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_work_device" msgid="3028145936574439146">"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 ladda ned 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..e5f1a17
--- /dev/null
+++ b/res/values-sw/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Lo!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"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="delete_profile_title" msgid="3097803266123463699">"Ungependa kuondoa wasifu wa kazini?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Wasifu huu wa kazini unasimamiwa na:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Wasifu huu wa kazini unasimamiwa kwa niaba ya %s kwa kutumia:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Tafadhali "<a href="#read_this_link">"soma hii"</a>" kabla ya kuendelea."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Programu zote na data katika wasifu huu zitafutwa ukiendelea."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Futa"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Ghairi"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Ili uendelee kusanidi wasifu wako wa kazini, utahitaji kusimba kifaa chako kwa njia fiche. Hatua hii inaweza kuchukua muda."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Ili uendelee kusanidi kifaa chako, itabidi usimbe 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="6193230832887977927">"Wasifu wa kazini unafaa uwekwe na mtumiaji msingi wa kifaa"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Wasifu wa kazi haukuweza kuundwa kwa sababu idadi ya juu ya watumiaji kwenye kifaa chako imefikiwa. Tafadhali ondoa angalau mtumiaji mmoja na ujaribu tena."</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_work_device" msgid="3028145936574439146">"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..3b744a4
--- /dev/null
+++ b/res/values-ta-rIN/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"அச்சச்சோ!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"சுயவிவரத்தை அமைக்கவும்"</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="delete_profile_title" msgid="3097803266123463699">"பணி சுயவிவரத்தை அகற்றவா?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"இந்தப் பணி சுயவிவரத்தை நிர்வகிப்பது:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"பின்வருவதைப் பயன்படுத்தி பணி சுயவிவரம் %sக்காக நிர்வகிக்கப்படுகிறது:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"தொடரும் முன், "<a href="#read_this_link">"இதைப் படிக்கவும்"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"தொடர்ந்தால், இந்தச் சுயவிவரத்தில் உள்ள எல்லா பயன்பாடுகளும் தகவலும் நீக்கப்படும்."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"நீக்கு"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"ரத்துசெய்"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"பணி சுயவிவரத்தை அமைப்பதைத் தொடர, சாதனத்தை மறையாக்க வேண்டும். அதற்குச் சிறிது நேரம் ஆகலாம்."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"சாதனத்தை அமைப்பதைத் தொடர, சாதனத்தை மறையாக்க வேண்டும். அதற்குச் சிறிது நேரம் ஆகலாம்."</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="6193230832887977927">"சாதனத்தின் முதன்மை பயனரால் பணி சுயவிவரங்கள் அமைக்கப்பட வேண்டும்"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"உங்கள் சாதனத்தில் அனுமதிக்கப்படும் அதிகபட்ச பயனர்களின் எண்ணிக்கையை அடைந்துவிட்டதால், பணியிடச் சுயவிவரத்தை உருவாக்க முடியவில்லை. குறைந்தது ஒரு பயனரை அகற்றிவிட்டு, மீண்டும் முயற்சிக்கவும்."</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_work_device" msgid="3028145936574439146">"சாதனத்தை அமைக்கவும்"</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..5761a21
--- /dev/null
+++ b/res/values-te-rIN/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"అయ్యో!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"మీ ప్రొఫైల్‌ను సెటప్ చేయండి"</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="delete_profile_title" msgid="3097803266123463699">"కార్యాలయ ప్రొఫైల్‌ను తీసివేయాలా?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"ఈ కార్యాలయ ప్రొఫైల్ వీరి నిర్వహణలో ఉంది:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"ఈ కార్యాలయ ప్రొఫైల్ వీరు ఉపయోగిస్తున్న %s కోసం నిర్వహించబడుతోంది:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"దయచేసి కొనసాగడానికి ముందు "<a href="#read_this_link">"దీన్ని చదవండి"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"మీరు కొనసాగితే ఈ ప్రొఫైల్‌లోని అన్ని అనువర్తనాలు మరియు మొత్తం డేటా తొలగించబడుతుంది."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"తొలగించు"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"రద్దు చేయి"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"మీ కార్యాలయ ప్రొఫైల్‌ని సెటప్ చేయడం కొనసాగించడానికి, మీరు మీ పరికరాన్ని గుప్తీకరించాలి. దీనికి కొంత సమయం పట్టవచ్చు."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"మీ పరికరాన్ని సెటప్ చేయడం కొనసాగించడానికి, మీరు మీ పరికరాన్ని గుప్తీకరించాలి. దీనికి కొంత సమయం పట్టవచ్చు."</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="6193230832887977927">"కార్యాలయ ప్రొఫైల్‌లను పరికరం యొక్క ప్రాథమిక వినియోగదారు సెటప్ చేయాలి"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"మీ పరికరంలో గరిష్ట వినియోగదారుల సంఖ్యను చేరుకున్నందున కార్యాలయ ప్రొఫైల్‌ని సృష్టించడం సాధ్యపడలేదు. దయచేసి కనీసం ఒక వినియోగదారుని తీసివేసి, మళ్లీ ప్రయత్నించండి."</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_work_device" msgid="3028145936574439146">"మీ పరికరాన్ని సెటప్ చేయండి"</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..623b773
--- /dev/null
+++ b/res/values-th/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"อ๊ะ!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"ตั้งค่าโปรไฟล์ของคุณ"</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="delete_profile_title" msgid="3097803266123463699">"นำโปรไฟล์งานออกใช่ไหม"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"โปรไฟล์งานนี้ได้รับการจัดการโดย:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"มีการจัดการโปรไฟล์งานนี้สำหรับ %s โดยใช้:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"โปรด"<a href="#read_this_link">"อ่านข้อมูลนี้"</a>"ก่อนดำเนินการต่อ"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"ระบบจะลบแอปและข้อมูลทั้งหมดในโปรไฟล์นี้หากคุณดำเนินการต่อ"</string>
+    <string name="delete_profile" msgid="2299218578684663459">"ลบ"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"ยกเลิก"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"หากต้องการตั้งค่าโปรไฟล์งานต่อ คุณต้องเข้ารหัสอุปกรณ์ ซึ่งอาจใช้เวลาสักครู่หนึ่ง"</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"หากต้องการตั้งค่าอุปกรณ์ต่อ คุณต้องเข้ารหัสอุปกรณ์ ซึ่งอาจใช้เวลาสักครู่หนึ่ง"</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="6193230832887977927">"ต้องมีการตั้งค่าโปรไฟล์งานโดยผู้ใช้หลักของอุปกรณ์"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"ไม่สามารถสร้างโปรไฟล์งานได้เนื่องจากมีผู้ใช้ในอุปกรณ์เต็มจำนวนที่กำหนดแล้ว โปรดนำผู้ใช้ออกอย่างน้อย 1 คนและลองอีกครั้ง"</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_work_device" msgid="3028145936574439146">"ตั้งค่าอุปกรณ์"</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..0269e43
--- /dev/null
+++ b/res/values-tl/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Oops!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"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="delete_profile_title" msgid="3097803266123463699">"Alisin ang profile sa trabaho?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Ang profile sa trabahong ito ay pinamamahalaan ng:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Pinamamahalaan ang profile sa trabahong ito para sa %s gamit ang:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659"><a href="#read_this_link">"Pakibasa ito"</a>" bago magpatuloy."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Ide-delete ang lahat ng app at data sa profile na ito kung magpapatuloy ka."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"I-delete"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Kanselahin"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Upang magpatuloy sa pagse-set up ng iyong profile sa trabaho, kakailanganin mong i-encrypt ang iyong device. Maaaring medyo matagalan ang paggawa nito."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Upang magpatuloy sa pagse-set up ng iyong device, kakailanganin mong i-encrypt ang iyong device. Maaaring medyo matagalan ang paggawa nito."</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="6193230832887977927">"Kailangang i-set up ng pangunahing user ng device ang mga profile sa trabaho"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Hindi magawa ang profile sa trabaho dahil naabot na ang maximum na bilang ng mga user sa iyong device. Mangyaring mag-alis ng kahit isang user lang at subukang muli."</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_work_device" msgid="3028145936574439146">"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..2bef660
--- /dev/null
+++ b/res/values-tr/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Hata!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"Profilinizi oluşturma"</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="delete_profile_title" msgid="3097803266123463699">"İş profili kaldırılsın mı?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Bu iş profili şunun tarafından yönetiliyor:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Bu iş profili %s için şununla yönetiliyor:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Devam etmeden önce lütfen "<a href="#read_this_link">"bunu okuyun"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Devam ederseniz bu profildeki tüm uygulamalar ve veriler silinecek."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Sil"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"İptal"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"İş profilinizin kurulum işlemlerine devam etmek için cihazınızı şifrelemelisiniz. Bu işlem biraz zaman alabilir."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Cihazınızın kurulumuna 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="6193230832887977927">"İş profilleri, cihazın birincil kullanıcısı tarafından oluşturulmalıdır"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Cihazınızda maksimum sayıda kullanıcıya ulaşıldığından iş profili oluşturulamadı. Lütfen en az bir kullanıcıyı kaldırın ve tekrar deneyin."</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_work_device" msgid="3028145936574439146">"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..41f8e4b
--- /dev/null
+++ b/res/values-uk/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Помилка"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"Налаштування профілю"</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="delete_profile_title" msgid="3097803266123463699">"Видалити робочий профіль?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Цим робочим профілем керує додаток"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Цей робочий профіль зареєстровано в домені %s. Ним керує додаток"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Перш ніж продовжити, "<a href="#read_this_link">"прочитайте цю інформацію"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Якщо продовжити, усі додатки й дані в цьому профілі буде видалено."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Видалити"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Скасувати"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Щоб налаштувати робочий профіль, потрібно зашифрувати пристрій. Це може зайняти деякий час."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Щоб налаштувати пристрій, його потрібно зашифрувати. Це може зайняти деякий час."</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="6193230832887977927">"Робочі профілі може налаштовувати лише основний користувач пристрою"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Не вдалося створити робочого профілю, оскільки на вашому пристрої вже додано максимальну кількість користувачів. Видаліть принаймні одного користувача й повторіть спробу."</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_work_device" msgid="3028145936574439146">"Налаштування пристрою"</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..d9d1f5f
--- /dev/null
+++ b/res/values-ur-rPK/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"افوہ!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"اپنے پروفائل کو ترتیب دیں"</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="delete_profile_title" msgid="3097803266123463699">"دفتری پروفائل ہٹائیں؟"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"یہ دفتری پروفائل اس کے زیر انتظام ہے:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"‏اس دفتری پروفائل کا نظم %s کیلئے یہ استعمال کرتے ہوئے کیا جاتا ہے:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"آگے بڑھنے سے پہلے براہ کرم "<a href="#read_this_link">"اسے پڑھیں"</a>"۔"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"اگر آپ جاری رکھتے ہیں تو اس پروفائل میں موجود سبھی ایپس اور ڈیٹا حذف ہو جائے گا۔"</string>
+    <string name="delete_profile" msgid="2299218578684663459">"حذف کریں"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"منسوخ کریں"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"اپنے دفتری پروفائل کو ترتیب دینا جاری رکھنے کیلئے، آپ کو اپنے آلہ کو مرموز کرنے کی ضرورت ہوگی۔ اس میں کچھ وقت لگ سکتا ہے۔"</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"اپنے آلہ کو ترتیب دینا جاری رکھنے کیلئے، آپ کو اپنے آلہ کو مرموز کرنے کی ضرورت ہوگی۔ اس میں کچھ وقت لگ سکتا ہے۔"</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="6193230832887977927">"دفتری پروفائلز کو آلہ کے بنیادی صارف کی طرف سے ترتیب دیے جانے کی ضرورت ہے"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"دفتری پروفائل بنائی نہیں جا سکی کیونکہ آپ کے آلہ پر صارفین کی زیادہ سے زیادہ تعداد تک پہنچا جا چکا ہے۔ براہ کرم کم از کم ایک صارف کو ہٹائیں اور دوبارہ کوشش کریں۔"</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_work_device" msgid="3028145936574439146">"اپنے آلہ کو ترتیب دیں"</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..a614e1a
--- /dev/null
+++ b/res/values-uz-rUZ/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Ana, xolos!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"Profilingizni sozlang"</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="delete_profile_title" msgid="3097803266123463699">"Ishchi profil o‘chirilsinmi?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Bu ishchi profil quyidagi domenda boshqariladi:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Bu ishchi profil quyidagi yordamida %s domenida boshqariladi:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Davom etishdan oldin "<a href="#read_this_link">"bularni o‘qib chiqing"</a>"."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Agar davom etsangiz, ushbu profildagi barcha ilova va ma’lumotlar o‘chib ketadi."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"O‘chirish"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Bekor qilish"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Qurilmani sozlashda davom etish uchun qurilmangizni shifrlashingiz lozim. Bu biroz vaqt olishi mumkin."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Qurilmani sozlashda davom etish uchun qurilmangizni shifrlashingiz 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="6193230832887977927">"Ishchi profillar qurilmaning asosiy egasi tomonidan sozlanishi lozim"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Qurilmangizdagi foydalanuvchilar soni maksimal miqdorga yetgani tufayli ishchi profil yaratib bo‘lmadi. Kamida bitta foydalanuvchini o‘chirib tashlang va qaytadan urining."</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_work_device" msgid="3028145936574439146">"Qurilmangizni sozlang"</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..53c1dc5
--- /dev/null
+++ b/res/values-vi/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Rất tiếc!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"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="delete_profile_title" msgid="3097803266123463699">"Xóa hồ sơ công việc?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Hồ sơ công việc này được quản lý bằng:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Hồ sơ công việc này được quản lý cho %s bằng:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Vui lòng "<a href="#read_this_link">"đọc nội dung này"</a>" trước khi tiếp tục."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Tất cả ứng dụng và dữ liệu trong hồ sơ này sẽ bị xóa nếu bạn tiếp tục."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Xóa"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Hủy"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Để 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_text_for_device_owner_setup" msgid="7279768314707033707">"Để tiếp tục thiết lập thiết bị, 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="6193230832887977927">"Hồ sơ công việc cần phải do người dùng chính của thiết bị thiết lập"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Không thể tạo hồ sơ công việc do đã đạt đến số lượng người dùng tối đa trên thiết bị của bạn. Vui lòng xóa ít nhất một người dùng và thử lại."</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_work_device" msgid="3028145936574439146">"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..3a7fe30
--- /dev/null
+++ b/res/values-zh-rCN/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"糟糕，出错了！"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"设置您的资料"</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="delete_profile_title" msgid="3097803266123463699">"要移除工作资料吗？"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"此工作资料由以下应用管理："</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"%s 的此工作资料通过以下应用管理："</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"请先"<a href="#read_this_link">"阅读此文"</a>"，然后再继续。"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"如果继续，则此工作资料中的所有应用和数据都会被删除。"</string>
+    <string name="delete_profile" msgid="2299218578684663459">"删除"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"取消"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"要继续设置工作资料，您需要对设备进行加密。此过程可能需要一段时间。"</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"要继续设置您的设备，您需要对其进行加密。此过程可能需要一段时间。"</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="6193230832887977927">"只有设备的主用户才能设置工作资料"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"您设备上的用户数量已达到上限，因此无法创建工作资料。请至少移除一个用户，然后重试。"</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_work_device" msgid="3028145936574439146">"设置您的设备"</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..e54fc72
--- /dev/null
+++ b/res/values-zh-rHK/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"糟糕！"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"設定您的設定檔"</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="delete_profile_title" msgid="3097803266123463699">"要移除工作設定檔嗎？"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"這個工作設定檔由以下應用程式管理："</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"這個「%s」的工作設定檔由以下應用程式管理："</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"請先"<a href="#read_this_link">"閱讀更多資訊"</a>"，然後再繼續。"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"如果繼續，此設定檔中的所有應用程式和資料將被刪除。"</string>
+    <string name="delete_profile" msgid="2299218578684663459">"刪除"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"取消"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"如要繼續設定公司檔案，您必須為裝置加密。這項操作可能需要一段時間才能完成。"</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"如要繼續設定您的裝置，您必須為裝置加密。這項操作可能需要一段時間才能完成。"</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="6193230832887977927">"工作設定檔必須由裝置的主要使用者設定"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"裝置使用者人數已滿，無法建立工作設定檔。請刪除至少一位使用者，然後重試。"</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_work_device" msgid="3028145936574439146">"設定您的裝置"</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..f761cce
--- /dev/null
+++ b/res/values-zh-rTW/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"糟糕！"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"設定您的設定檔"</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="delete_profile_title" msgid="3097803266123463699">"移除 Work 設定檔？"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"這個 Work 設定檔是由下列應用程式管理："</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"這個 Work 設定檔 %s 是使用下列應用程式管理："</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"請先"<a href="#read_this_link">"閱讀這份文件"</a>"再繼續。"</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"如果繼續執行，這個設定檔中的所有應用程式和資料都將遭到刪除。"</string>
+    <string name="delete_profile" msgid="2299218578684663459">"刪除"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"取消"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"您必須為裝置加密才能繼續設定 Work 設定檔，這項程序需要一段時間。"</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"您必須為裝置加密才能繼續設定裝置，這項程序需要一段時間。"</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="6193230832887977927">"您必須是裝置的主要使用者，才能設定 Work 設定檔"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"您裝置上的使用者數量已達上限，因此無法建立 Work 設定檔。請移除至少一位使用者，然後再試一次。"</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_work_device" msgid="3028145936574439146">"設定您的裝置"</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..74b9f0a
--- /dev/null
+++ b/res/values-zu/strings.xml
@@ -0,0 +1,80 @@
+<?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="provisioning_error_title" msgid="6320515739861578118">"Hawu!"</string>
+    <string name="setup_work_profile" msgid="9164519662954159586">"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="delete_profile_title" msgid="3097803266123463699">"Susa iphrofayela yomsebenzi?"</string>
+    <string name="opening_paragraph_delete_profile_unknown_company" msgid="1132833578783368037">"Le phrofayela yomsebenzi iphethwe ngu:"</string>
+    <string name="opening_paragraph_delete_profile_known_company" msgid="3126629826260821264">"Le phrofayela yomsebenzi iphathelwe i-%s esebenzisa:"</string>
+    <string name="read_more_delete_profile" msgid="8108077458455321659">"Sicela "<a href="#read_this_link">"ufunde lokhu"</a>" ngaphambi kokuqhubeka."</string>
+    <string name="sure_you_want_to_delete_profile" msgid="1336653819166266605">"Zonke izinhlelo zokusebenza nedatha kule phrofayela kuzosulwa unaphakade uma uqhubeka."</string>
+    <string name="delete_profile" msgid="2299218578684663459">"Susa"</string>
+    <string name="cancel_delete_profile" msgid="5155447537894046036">"Khansela"</string>
+    <string name="encrypt_device_text_for_profile_owner_setup" msgid="4325067657681168120">"Ukuze uqhubeke ngokusetha iphrofayela yakho yomsebenzi, uzodinga ukubethela idivayisi yakho. Lokhu kungatha isikhashana."</string>
+    <string name="encrypt_device_text_for_device_owner_setup" msgid="7279768314707033707">"Ukuze uqhubeke nokusehta idivayisi yakho, uzodinga ukubethela idivayisi yakho. Lokhu kungathatha isikhathi."</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="6193230832887977927">"Amaphrofayela womsebenzi adinga ukusethwa umsebenzisi oyinhloko wedivayisi"</string>
+    <string name="maximum_user_limit_reached" msgid="7267689354022124652">"Iphrofayela yomsebenzi ayikwazanga ukudalwa njengoba inombolo enkulu yabasebenzisi kudivayisi yakho ifinyelelwe. Sicela ukhiphe okungenani umsebenzisi oyedwa bese uyazama futhi."</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_work_device" msgid="3028145936574439146">"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 1fc1515..9a7ec5b 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -20,8 +20,8 @@
     <color name="text_black">#df000000</color>
     <color name="light_gray">#ebebeb</color>
     <color name="white">#ffffff</color>
-    <color name="teal">#4cb5ab</color>
-    <color name="light_teal">#a2dedb</color>
+    <color name="teal">#00796B</color>
+    <color name="dark_teal">#00695C</color>
     <color name="dark_turquoise">#4db6ac</color>
     <color name="transparent_dark_turquoise">#204db6ac</color>
     <color name="accent">@color/dark_turquoise</color>
diff --git a/res/values/config.xml b/res/values/config.xml
new file mode 100644
index 0000000..4425488
--- /dev/null
+++ b/res/values/config.xml
@@ -0,0 +1,22 @@
+<?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>
+    <!-- The duration (in milliseconds) of activity transitions -->
+    <integer name="activity_transition_duration">300</integer>
+</resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 6764c41..4789205 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -46,4 +46,7 @@
     <dimen name="row_height">72dp</dimen>
     <dimen name="row_padding_top">8dp</dimen>
     <dimen name="icon_width_height">56dp</dimen>
-</resources>
\ No newline at end of file
+
+    <!-- The margin to compensate for the built-in padding of the progress bar -->
+    <dimen name="progress_bar_margin_top">-7dp</dimen>
+</resources>
diff --git a/res/values/packages_to_delete_new_managed_profile.xml b/res/values/packages_to_delete_new_managed_profile.xml
new file mode 100644
index 0000000..948fa26
--- /dev/null
+++ b/res/values/packages_to_delete_new_managed_profile.xml
@@ -0,0 +1,24 @@
+<?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>
+    <!-- A list of packages to be deleted on new managed profile. -->
+    <string-array name="packages_to_delete_new_managed_profile">
+        <item>com.android.server.telecom</item>
+    </string-array>
+</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 3133ef1..7bde082 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -21,8 +21,6 @@
 
   <!-- General provisioning strings used for both device owner and work profile provisioning -->
 
-  <!-- Name of the application [CHAR LIMIT=NONE] -->
-  <string name="app_name">Device Provisioner</string>
   <!-- Title of the provisioning error dialog. [CHAR LIMIT=45] -->
   <string name="provisioning_error_title">Oops!</string>
 
@@ -30,7 +28,7 @@
 
   <!-- User consent -->
   <!-- Title of all work profile setup screens. [CHAR LIMIT=NONE] -->
-  <string name="setup_work_space">Set up your profile</string>
+  <string name="setup_work_profile">Set up your profile</string>
   <!-- The text that asks for user consent to create a work profile [CHAR LIMIT=NONE] -->
   <string name="company_controls_workspace">Your organization controls this profile and keeps it secure. You control everything else on your device.</string>
   <!-- String shown above the icon of the app that will control the work profile after it is set up. [CHAR LIMIT=NONE]-->
@@ -55,17 +53,30 @@
   <!-- Default profile name used for the creation of work profiles. [CHAR LIMIT=NONE] -->
   <string name="default_managed_profile_name">Work profile</string>
 
-  <!-- String shown when there is already a work profile for this user. CHAR LIMIT=NONE] -->
-  <string name="managed_profile_already_present">You already have a work profile on your device. Do you want to remove it?</string>
+  <!-- Title on the dialog that prompts the user to confirm that they really want to delete their existing work profile-->
+  <string name="delete_profile_title">Remove work profile?</string>
+  <!-- Opening string on the dialog that prompts the user to confirm that they really want to delete
+       their existing work profile. The administration app icon and name appear after the final
+       colon. [CHAR LIMIT=NONE] -->
+  <string name="opening_paragraph_delete_profile_unknown_company">This work profile is managed by:</string>
+    <!-- Opening string on the dialog that prompts the user to confirm that they really want to delete
+         their existing work profile. The administration app icon and name appear after the final
+         colon, the %s is replaced by the domain name of the organization that owns the work
+         profile. [CHAR LIMIT=NONE] -->
+  <string name="opening_paragraph_delete_profile_known_company">This work profile is managed for %s using:</string>
+  <!-- String on the dialog that links through to more information about the profile management application. -->
+  <string name="read_more_delete_profile">Please <a href="#read_this_link">read this</a> before proceeding.</string>
   <!-- String on the dialog that prompts the user to confirm that they really want to delete their existing work profile-->
-  <string name="sure_you_want_to_delete_profile">Are you sure you want to remove this work profile? All of its data will be deleted.</string>
+  <string name="sure_you_want_to_delete_profile">All apps and data in this profile will be deleted if you continue.</string>
   <!-- String on the button that triggers the deletion of a work profile.-->
-  <string name="delete_profile">Remove</string>
+  <string name="delete_profile">Delete</string>
   <!-- String on the button that cancels out of the deletion of a work profile.-->
   <string name="cancel_delete_profile">Cancel</string>
 
-  <!-- String shown on prompt for user to encrypt and reboot the device [CHAR LIMIT=NONE]-->
-  <string name="encrypt_device_text">To continue setting up your work profile, you\'ll need to encrypt your device. This may take some time.</string>
+  <!-- String shown on prompt for user to encrypt and reboot the device, in case of profile setup [CHAR LIMIT=NONE]-->
+  <string name="encrypt_device_text_for_profile_owner_setup">To continue setting up your work profile, you\'ll need to encrypt your device. This may take some time.</string>
+  <!-- String shown on prompt for user to encrypt and reboot the device, in case of device setup [CHAR LIMIT=NONE]-->
+  <string name="encrypt_device_text_for_device_owner_setup">To continue setting up your device, you\'ll need to encrypt your device. This may take some time.</string>
   <!-- String shown on button for user to cancel setup when asked to encrypt device. [CHAR LIMIT=20]-->
   <string name="encrypt_device_cancel">Cancel</string>
   <!-- String shown on button for user to continue to settings to encrypt the device. [CHAR LIMIT=20]-->
@@ -81,7 +92,9 @@
   <!-- Error string displayed if this device doesn't support work profiles. -->
   <string name="managed_provisioning_not_supported">Your device doesn\'t support work profiles</string>
   <!-- Error string displayed if the user that initiated the provisioning is not the user owner. -->
-  <string name="user_is_not_owner">Work profiles need to be set up by the device owner</string>
+  <string name="user_is_not_owner">Work profiles need to be set up by the primary user of the device</string>
+  <!-- Error string displayed if maximum user limit is reached -->
+  <string name="maximum_user_limit_reached">Work profile could not be created as the maximum number of users on your device has been reached. Please remove at least one user and try again.</string>
   <!-- Error string displayed if the selected launcher doesn't support work profiles. -->
   <string name="managed_provisioning_not_supported_by_launcher">Your work profile isn\'t supported by this launcher app. You\'ll need to switch to a launcher that\'s compatible.</string>
   <!-- Button text for the button that cancels provisioning  -->
@@ -95,7 +108,7 @@
   <string name="default_owned_device_username">User of work device</string>
 
   <!-- Title of the work device setup screen. [CHAR LIMIT=NONE] -->
-  <string name="setup_device">Set up your device</string>
+  <string name="setup_work_device">Set up your device</string>
   <!-- Progress text indicating that the setup data is processed. [CHAR LIMIT=45] -->
   <string name="progress_data_process">Processing setup data...</string>
   <!-- Progress text indicating that wifi is set up. [CHAR LIMIT=45] -->
diff --git a/res/values/styles.xml b/res/values/styles.xml
index fb8a8a8..1721920 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -23,7 +23,9 @@
       <item name="android:windowNoTitle">true</item>
       <item name="android:colorPrimary">@color/teal</item>
       <item name="android:colorAccent">@color/dark_turquoise</item>
-      <item name="android:colorPrimaryDark">@color/light_teal</item>
+      <item name="android:colorPrimaryDark">@color/dark_teal</item>
+      <item name="setup_wizard_navbar_theme">@style/setup_wizard_navbar_theme_light</item>
+      <item name="android:windowAnimationStyle">@style/Animation.SetupWizard</item>
     </style>
 
     <style name="LightButtonOverlayTheme">
@@ -42,21 +44,21 @@
     </style>
 
     <style name="Container">
-      <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:fitsSystemWindows">true</item>
+      <item name="android:layout_width">match_parent</item>
+      <item name="android:layout_height">match_parent</item>
       <item name="android:background">@color/teal</item>
     </style>
 
     <style name="HeaderAndTitleContainer">
-        <item name="android:layout_width">fill_parent</item>
+        <item name="android:layout_width">match_parent</item>
         <item name="android:layout_height">wrap_content</item>
         <item name="android:orientation">vertical</item>
         <item name="android:background">@color/teal</item>
     </style>
 
     <style name="HeaderImage">
-        <item name="android:layout_width">fill_parent</item>
+        <item name="android:layout_width">match_parent</item>
         <item name="android:layout_height">wrap_content</item>
         <item name="android:adjustViewBounds">true</item>
         <item name="android:scaleType">centerCrop</item>
@@ -64,7 +66,7 @@
     </style>
 
     <style name="Title">
-        <item name="android:layout_width">fill_parent</item>
+        <item name="android:layout_width">match_parent</item>
         <item name="android:layout_height">@dimen/title_height</item>
         <item name="android:textSize">@dimen/title_text_size</item>
         <item name="android:background">@color/teal</item>
@@ -74,7 +76,7 @@
     </style>
 
     <style name="MainText">
-        <item name="android:layout_width">fill_parent</item>
+        <item name="android:layout_width">match_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_between_text</item>
@@ -109,23 +111,26 @@
         <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>
+    <style name="MainTextContainerNoHorizontalMargin">
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">match_parent</item>
         <item name="android:orientation">vertical</item>
         <item name="android:background">@color/white</item>
         <item name="android:paddingBottom">@dimen/main_text_padding_bottom</item>
-        <item name="android:layout_marginLeft">@dimen/main_text_margins_left_right</item>
-        <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_padding_top</item>
         <item name="android:textSize">@dimen/main_text_size</item>
     </style>
 
+    <style name="MainTextContainer" parent="MainTextContainerNoHorizontalMargin">
+        <item name="android:layout_marginLeft">@dimen/main_text_margins_left_right</item>
+        <item name="android:layout_marginRight">@dimen/main_text_margins_left_right</item>
+    </style>
+
     <style name="DialogFragmentTextContainer">
-        <item name="android:layout_width">fill_parent</item>
-        <item name="android:layout_height">fill_parent</item>
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">match_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>
@@ -138,15 +143,8 @@
 
     <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>
-        <item name="android:fadeScrollbars">false</item>
-    </style>
-
-    <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_between_text</item>
-        <item name="android:indeterminate">true</item>
+        <item name="android:fadeScrollbars">false</item>
     </style>
 
     <style name="ManagedProvisioningDialogTheme" parent="@android:style/Theme.Dialog">
@@ -155,4 +153,11 @@
       <item name="android:windowBackground">@android:color/transparent</item>
     </style>
 
+    <!-- The animation should be consistent with Setup Wizard -->
+    <style name="Animation.SetupWizard" parent="@android:style/Animation.Activity">
+        <item name="android:activityOpenEnterAnimation">@anim/slide_next_in</item>
+        <item name="android:activityOpenExitAnimation">@anim/slide_next_out</item>
+        <item name="android:activityCloseEnterAnimation">@anim/slide_back_in</item>
+        <item name="android:activityCloseExitAnimation">@anim/slide_back_out</item>
+    </style>
 </resources>
diff --git a/src/com/android/managedprovisioning/BootReminder.java b/src/com/android/managedprovisioning/BootReminder.java
index 85c6511..a35aea7 100644
--- a/src/com/android/managedprovisioning/BootReminder.java
+++ b/src/com/android/managedprovisioning/BootReminder.java
@@ -17,6 +17,7 @@
 
 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_COMPONENT_NAME;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME;
 
 import android.app.Notification;
@@ -29,8 +30,8 @@
 import android.os.Bundle;
 
 /**
- * Class that handles the resuming process that takes place after a reboot for encryption
- * during the provisioning process.
+ * Class that handles the resuming process that takes place after a reboot during the provisioning
+ * process. The reboot could be an unexpected reboot or a reboot during the encryption process.
  */
 public class BootReminder extends BroadcastReceiver {
     private static final int NOTIFY_ID = 1;
@@ -46,6 +47,11 @@
         EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME
     };
 
+    private static final String[] PROFILE_OWNER_COMPONENT_NAME_EXTRAS = {
+        // Key for the device admin component name
+        EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME
+    };
+
     private static final String[] PROFILE_OWNER_PERSISTABLE_BUNDLE_EXTRAS = {
         // Key for the admin extras bundle
         EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE
@@ -60,15 +66,25 @@
             ProfileOwnerPreProvisioningActivity.ALIAS_NO_CHECK_CALLER;
 
     /*
-     * Device owner parameters that are stored in the IntentStore for resuming provisioning.
+     * Device owner parameters that are stored in the IntentStore for resuming provisioning after
+     * encryption.
      */
-    private static final String DEVICE_OWNER_PREFERENCES_NAME =
-            "device-owner-provisioning-resume";
+    private static final String DEVICE_OWNER_ENCRYPTION_PREFERENCES_NAME =
+            "device-owner-encryption-resume";
+
+    // Device owner parameter stored for resuming provisioning after unexpected device reboot during
+    // finalizing stage.
+    private static final String DEVICE_OWNER_FINALIZING_PREFERENCES_NAME =
+            "device-owner-finalizing-resume";
 
     private static final ComponentName DEVICE_OWNER_INTENT_TARGET =
             new ComponentName("com.android.managedprovisioning",
                     "com.android.managedprovisioning.DeviceOwnerProvisioningActivity");
 
+    private static final ComponentName HOME_RECEIVER_INTENT_TARGET =
+            new ComponentName("com.android.managedprovisioning",
+                    "com.android.managedprovisioning.HomeReceiverActivity");
+
     @Override
     public void onReceive(Context context, Intent intent) {
         if (android.content.Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
@@ -84,8 +100,8 @@
                 }
             }
 
-            // Resume device owner provisioning if applicable.
-            IntentStore deviceOwnerIntentStore = getDeviceOwnerIntentStore(context);
+            // Resume device owner provisioning after encryption if applicable.
+            IntentStore deviceOwnerIntentStore = getDeviceOwnerEncryptionResumptionIntentStore(context);
             Intent resumeDeviceOwnerPrvIntent = deviceOwnerIntentStore.load();
             if (resumeDeviceOwnerPrvIntent != null) {
                 deviceOwnerIntentStore.clear();
@@ -104,8 +120,8 @@
      * and {@link EncryptDeviceActivity.TARGET_DEVICE_OWNER}
      *
      * <p> In case of TARGET_PROFILE_OWNER {@code extras} should further contain a value for at
-     * least the key: {@link EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME}, a {@link String} which
-     * specifies the package to set as profile owner.
+     * least the key: {@link EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME}, a {@link String}
+     * which, when unflattened to a componentName, specifies the component to set as profile owner.
      *
      * <p>
      * See {@link MessageParser} for the TARGET_DEVICE_OWNER case.
@@ -123,7 +139,7 @@
         if (resumeTarget.equals(EncryptDeviceActivity.TARGET_PROFILE_OWNER)) {
             intentStore = getProfileOwnerIntentStore(context);
         } else if (resumeTarget.equals(EncryptDeviceActivity.TARGET_DEVICE_OWNER)) {
-            intentStore = getDeviceOwnerIntentStore(context);
+            intentStore = getDeviceOwnerEncryptionResumptionIntentStore(context);
         } else {
             ProvisionLogger.loge("Unknown resume target for bootreminder.");
             return;
@@ -136,19 +152,22 @@
      */
     public static void cancelProvisioningReminder(Context context) {
         getProfileOwnerIntentStore(context).clear();
-        getDeviceOwnerIntentStore(context).clear();
+        getDeviceOwnerEncryptionResumptionIntentStore(context).clear();
         setNotification(context, null);
     }
 
     private static IntentStore getProfileOwnerIntentStore(Context context) {
         return new IntentStore(context,PROFILE_OWNER_INTENT_TARGET, PROFILE_OWNER_PREFERENCES_NAME)
+                .setComponentNameKeys(PROFILE_OWNER_COMPONENT_NAME_EXTRAS)
                 .setStringKeys(PROFILE_OWNER_STRING_EXTRAS)
                 .setPersistableBundleKeys(PROFILE_OWNER_PERSISTABLE_BUNDLE_EXTRAS)
                 .setAccountKeys(PROFILE_OWNER_ACCOUNT_EXTRAS);
     }
 
-    private static IntentStore getDeviceOwnerIntentStore(Context context) {
-        return new IntentStore(context, DEVICE_OWNER_INTENT_TARGET, DEVICE_OWNER_PREFERENCES_NAME)
+    private static IntentStore getDeviceOwnerIntentStore(Context context,
+            ComponentName intentTarget, String storeName) {
+        return new IntentStore(context, intentTarget, storeName)
+                .setComponentNameKeys(MessageParser.DEVICE_OWNER_COMPONENT_NAME_EXTRAS)
                 .setStringKeys(MessageParser.DEVICE_OWNER_STRING_EXTRAS)
                 .setLongKeys(MessageParser.DEVICE_OWNER_LONG_EXTRAS)
                 .setIntKeys(MessageParser.DEVICE_OWNER_INT_EXTRAS)
@@ -156,6 +175,16 @@
                 .setPersistableBundleKeys(MessageParser.DEVICE_OWNER_PERSISTABLE_BUNDLE_EXTRAS);
     }
 
+    private static IntentStore getDeviceOwnerEncryptionResumptionIntentStore(Context context) {
+        return getDeviceOwnerIntentStore(context, DEVICE_OWNER_INTENT_TARGET,
+                DEVICE_OWNER_ENCRYPTION_PREFERENCES_NAME);
+    }
+
+    protected static IntentStore getDeviceOwnerFinalizingIntentStore(Context context) {
+        return getDeviceOwnerIntentStore(context, HOME_RECEIVER_INTENT_TARGET,
+                DEVICE_OWNER_FINALIZING_PREFERENCES_NAME);
+    }
+
     /** Create and show the provisioning reminder notification. */
     private static void setNotification(Context context, Intent intent) {
         final NotificationManager notificationManager = (NotificationManager)
diff --git a/src/com/android/managedprovisioning/CrossProfileIntentFiltersHelper.java b/src/com/android/managedprovisioning/CrossProfileIntentFiltersHelper.java
index 9912534..5936c2d 100644
--- a/src/com/android/managedprovisioning/CrossProfileIntentFiltersHelper.java
+++ b/src/com/android/managedprovisioning/CrossProfileIntentFiltersHelper.java
@@ -21,6 +21,7 @@
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.pm.PackageManager;
+import android.provider.AlarmClock;
 import android.provider.MediaStore;
 
 import com.android.managedprovisioning.ProvisionLogger;
@@ -192,5 +193,12 @@
         capture.addAction(MediaStore.INTENT_ACTION_VIDEO_CAMERA);
         capture.addCategory(Intent.CATEGORY_DEFAULT);
         pm.addCrossProfileIntentFilter(capture, managedProfileUserId, parentUserId, 0);
+
+        IntentFilter setClock = new IntentFilter();
+        setClock.addAction(AlarmClock.ACTION_SET_ALARM);
+        setClock.addAction(AlarmClock.ACTION_SHOW_ALARMS);
+        setClock.addAction(AlarmClock.ACTION_SET_TIMER);
+        setClock.addCategory(Intent.CATEGORY_DEFAULT);
+        pm.addCrossProfileIntentFilter(setClock, managedProfileUserId, parentUserId, 0);
     }
 }
diff --git a/src/com/android/managedprovisioning/DeleteManagedProfileDialog.java b/src/com/android/managedprovisioning/DeleteManagedProfileDialog.java
new file mode 100644
index 0000000..f32787f
--- /dev/null
+++ b/src/com/android/managedprovisioning/DeleteManagedProfileDialog.java
@@ -0,0 +1,142 @@
+package com.android.managedprovisioning;
+/*
+ * Copyright 2015, 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.
+ */
+
+import android.app.Dialog;
+import android.app.DialogFragment;
+import android.content.ComponentName;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.android.managedprovisioning.Utils.MdmPackageInfo;
+
+/**
+ * Displays information about an existing managed profile and asks the user if it should be deleted.
+ *
+ * <p>Expects parent component to implement {@link DeleteManagedProfileCallback} for user-response
+ * handling.
+ */
+public class DeleteManagedProfileDialog extends DialogFragment {
+    private static final String KEY_USER_PROFILE_CALLBACK_ID = "user_profile_callback_id";
+    private static final String KEY_MDM_PACKAGE_NAME = "mdm_package_name";
+    private static final String KEY_PROFILE_OWNER_DOMAIN = "profile_owner_domain";
+
+    /**
+     * @param managedProfileUserId user-id for the managed profile which will be passed back to the
+     *     parent component in the {@link DeleteManagedProfileCallback#onRemoveProfileApproval(int)}
+     *     call
+     * @param mdmPackagename package name of the MDM application for the current managed profile
+     * @param profileOwnerDomain domain name of the organization which owns the managed profile, or
+     *     null if not known
+     * @return initialized dialog
+     */
+    public static DeleteManagedProfileDialog newInstance(
+            int managedProfileUserId, ComponentName mdmPackagename, String profileOwnerDomain) {
+        Bundle args = new Bundle();
+        args.putInt(KEY_USER_PROFILE_CALLBACK_ID, managedProfileUserId);
+        args.putString(KEY_MDM_PACKAGE_NAME, mdmPackagename.getPackageName());
+        args.putString(KEY_PROFILE_OWNER_DOMAIN, profileOwnerDomain);
+
+        DeleteManagedProfileDialog dialog = new DeleteManagedProfileDialog();
+        dialog.setArguments(args);
+        return dialog;
+    }
+
+    @Override
+    public Dialog onCreateDialog(Bundle savedInstanceState) {
+        if (!(getActivity() instanceof DeleteManagedProfileCallback)) {
+            throw new IllegalStateException("Calling activity must implement " +
+                    "DeleteManagedProfileCallback, found: " + getActivity().getLocalClassName());
+        }
+
+        Bundle arguments = getArguments();
+        final int callbackUserProfileId = arguments.getInt(KEY_USER_PROFILE_CALLBACK_ID);
+        String mdmPackageName = arguments.getString(KEY_MDM_PACKAGE_NAME);
+
+        MdmPackageInfo mdmPackageInfo = Utils.getMdmPackageInfo(
+                getActivity().getPackageManager(), mdmPackageName);
+
+        final Dialog dialog = new Dialog(getActivity(), R.style.ManagedProvisioningDialogTheme);
+        dialog.setTitle(R.string.delete_profile_title);
+        dialog.setContentView(R.layout.delete_managed_profile_dialog);
+        dialog.setCanceledOnTouchOutside(false);
+
+        ImageView imageView = (ImageView) dialog.findViewById(
+                R.id.delete_managed_profile_mdm_icon_view);
+        imageView.setImageDrawable(mdmPackageInfo.getPackageIcon());
+
+        TextView deviceManagerName = (TextView) dialog.findViewById(
+                R.id.delete_managed_profile_device_manager_name);
+        deviceManagerName.setText(mdmPackageInfo.getAppLabel());
+
+        Button positiveButton = (Button) dialog.findViewById(
+                R.id.delete_managed_profile_positive_button);
+        positiveButton.setOnClickListener(new OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    dialog.dismiss();
+                    ((DeleteManagedProfileCallback) getActivity())
+                            .onRemoveProfileApproval(callbackUserProfileId);
+                }
+            });
+
+        Button negativeButton = (Button) dialog.findViewById(
+                R.id.delete_managed_profile_negative_button);
+        negativeButton.setOnClickListener(new OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    dialog.dismiss();
+                    ((DeleteManagedProfileCallback) getActivity()).onRemoveProfileCancel();
+                }
+            });
+
+        dialog.getWindow().getDecorView().setSystemUiVisibility(
+                View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY |
+                View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
+        return dialog;
+    }
+
+    @Override
+    public void onCancel(DialogInterface dialog) {
+        dialog.dismiss();
+        ((DeleteManagedProfileCallback) getActivity()).onRemoveProfileCancel();
+    }
+
+    /**
+     * Callback interface for outcome of {@link DeleteManagedProfileDialog} presentation.
+     */
+    public interface DeleteManagedProfileCallback {
+
+        /**
+         * Invoked if the user hits the positive response (perform removal) button.
+         *
+         * @param managedProfileUserId user-id of the managed-profile that the dialog was presented
+         *                             for
+         */
+        public abstract void onRemoveProfileApproval(int managedProfileUserId);
+
+        /**
+         * Invoked if the user hits the negative response (DO NOT perform removal) button, or the
+         * dialog was otherwise dismissed.
+         */
+        public abstract void onRemoveProfileCancel();
+    }
+}
diff --git a/src/com/android/managedprovisioning/DeviceOwnerProvisioningActivity.java b/src/com/android/managedprovisioning/DeviceOwnerProvisioningActivity.java
index 1b12252..78c5557 100644
--- a/src/com/android/managedprovisioning/DeviceOwnerProvisioningActivity.java
+++ b/src/com/android/managedprovisioning/DeviceOwnerProvisioningActivity.java
@@ -16,6 +16,9 @@
 
 package com.android.managedprovisioning;
 
+import static android.app.admin.DeviceAdminReceiver.ACTION_READY_FOR_USER_INITIALIZATION;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE;
+
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.content.BroadcastReceiver;
@@ -23,6 +26,7 @@
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.IntentFilter;
+import android.content.pm.ResolveInfo;
 import android.os.Bundle;
 import android.os.UserHandle;
 import android.os.SystemProperties;
@@ -36,8 +40,11 @@
 import android.widget.TextView;
 
 import com.android.managedprovisioning.task.AddWifiNetworkTask;
+import com.android.setupwizard.navigationbar.SetupWizardNavBar;
+import com.android.setupwizard.navigationbar.SetupWizardNavBar.NavigationBarListener;
 
 import java.util.ArrayList;
+import java.util.List;
 
 /**
  * This activity starts device owner provisioning:
@@ -64,7 +71,7 @@
  * </p>
  */
 public class DeviceOwnerProvisioningActivity extends Activity
-        implements UserConsentDialog.ConsentCallback {
+        implements UserConsentDialog.ConsentCallback, NavigationBarListener {
     private static final boolean DEBUG = false; // To control logging.
 
     private static final String KEY_USER_CONSENTED = "user_consented";
@@ -74,6 +81,10 @@
     private static final int ENCRYPT_DEVICE_REQUEST_CODE = 1;
     private static final int WIFI_REQUEST_CODE = 2;
 
+    // Hide default system navigation bar.
+    protected static final int IMMERSIVE_FLAGS = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
+            | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;
+
     private BroadcastReceiver mServiceMessageReceiver;
     private TextView mProgressTextView;
 
@@ -108,7 +119,7 @@
         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 (titleText != null) titleText.setText(getString(R.string.setup_work_device));
         if (mCancelDialogShown) showCancelResetDialog();
 
         // Check whether we can provision.
@@ -142,15 +153,16 @@
         MessageParser parser = new MessageParser();
         try {
             mParams = parser.parseIntent(getIntent());
-        } catch (MessageParser.ParseException e) {
+        } catch (Utils.IllegalProvisioningArgumentException e) {
             ProvisionLogger.loge("Could not read data from intent", e);
-            error(e.getErrorMessageId(), false /* no factory reset */);
+            error(R.string.device_owner_error_general, false /* no factory reset */);
             return;
         }
 
         // Ask to encrypt the device before proceeding
         if (!(EncryptDeviceActivity.isDeviceEncrypted()
-                        || SystemProperties.getBoolean("persist.sys.no_req_encrypt", false))) {
+                        || SystemProperties.getBoolean("persist.sys.no_req_encrypt", false)
+                        || mParams.mSkipEncryption)) {
             requestEncryption(parser, mParams);
             finish();
             return;
@@ -253,17 +265,43 @@
 
 
     private void onProvisioningSuccess() {
-        // 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);
-
+        if (mParams.mDeviceInitializerComponentName != null) {
+            Intent result = new Intent(ACTION_READY_FOR_USER_INITIALIZATION);
+            result.setComponent(mParams.mDeviceInitializerComponentName);
+            result.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES |
+                    Intent.FLAG_RECEIVER_FOREGROUND);
+            if (mParams.mAdminExtrasBundle != null) {
+                result.putExtra(EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE,
+                        mParams.mAdminExtrasBundle);
+            }
+            List<ResolveInfo> matchingReceivers =
+                    getPackageManager().queryBroadcastReceivers(result, 0);
+            if (matchingReceivers.size() > 0) {
+                // Notify the device initializer that it can now perform pre-user-setup tasks.
+                sendBroadcast(result);
+            } else {
+                ProvisionLogger.logi("Initializer component doesn't have a receiver for "
+                        + "android.app.action.READY_FOR_USER_INITIALIZATION. Skipping broadcast "
+                        + "and finishing user initialization.");
+                provisionDevice();
+            }
+        } else {
+            // No initializer, set the device provisioned ourselves.
+            provisionDevice();
+        }
         // Note: the DeviceOwnerProvisioningService will stop itself.
         setResult(Activity.RESULT_OK);
         finish();
     }
 
+    private void provisionDevice() {
+        // 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);
+    }
+
     private void requestEncryption(MessageParser messageParser, ProvisioningParams params) {
         Intent encryptIntent = new Intent(DeviceOwnerProvisioningActivity.this,
                 EncryptDeviceActivity.class);
@@ -322,7 +360,9 @@
                                                 DeviceOwnerProvisioningService.class));
                                 finish();
                             }
-                        }).show();
+                        })
+                .show()
+                .getWindow().getDecorView().setSystemUiVisibility(IMMERSIVE_FLAGS);
     }
 
     private void handlePendingIntents() {
@@ -398,7 +438,7 @@
                         }
                     });
         }
-        alertBuilder.show();
+        alertBuilder.show().getWindow().getDecorView().setSystemUiVisibility(IMMERSIVE_FLAGS);
     }
 
     @Override
@@ -441,5 +481,19 @@
         if (DEBUG) ProvisionLogger.logd("Device owner provisioning activity ONSTOP");
         super.onStop();
     }
+
+    @Override
+    public void onNavigationBarCreated(SetupWizardNavBar bar) {
+        bar.getNextButton().setVisibility(View.INVISIBLE);
+    }
+
+    @Override
+    public void onNavigateBack() {
+        onBackPressed();
+    }
+
+    @Override
+    public void onNavigateNext() {
+    }
 }
 
diff --git a/src/com/android/managedprovisioning/DeviceOwnerProvisioningService.java b/src/com/android/managedprovisioning/DeviceOwnerProvisioningService.java
index 109bb98..06808a7 100644
--- a/src/com/android/managedprovisioning/DeviceOwnerProvisioningService.java
+++ b/src/com/android/managedprovisioning/DeviceOwnerProvisioningService.java
@@ -16,22 +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;
 import android.support.v4.content.LocalBroadcastManager;
-import android.text.TextUtils;
 
 import com.android.internal.app.LocalePicker;
 import com.android.managedprovisioning.task.AddWifiNetworkTask;
@@ -96,8 +91,8 @@
     // MessageId of the last error message.
     private int mLastErrorMessage = -1;
 
-    // Indicates whether provisioning has finished succesfully (service waiting to stop).
-    private boolean mDone = false;
+    // Indicates whether provisioning has finished successfully (service waiting to stop).
+    private volatile boolean mDone = false;
 
     // Provisioning tasks.
     private AddWifiNetworkTask mAddWifiNetworkTask;
@@ -108,8 +103,6 @@
 
     private ProvisioningParams mParams;
 
-    private BroadcastReceiver mIndirectHomeReceiver;
-
     @Override
     public int onStartCommand(final Intent intent, int flags, int startId) {
         if (DEBUG) ProvisionLogger.logd("Device owner provisioning service ONSTARTCOMMAND.");
@@ -125,9 +118,9 @@
                     sendError();
                 }
 
-                // Send success if provisioning was succesful.
+                // Send success if provisioning was successful.
                 if (mDone) {
-                    onProvisioningSuccess(mParams.mDeviceAdminPackageName);
+                    onProvisioningSuccess();
                 }
             } else {
                 mProvisioningInFlight = true;
@@ -137,8 +130,6 @@
                 // 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() {
@@ -151,89 +142,41 @@
         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.
+     * Each task checks if it is required and executes if it is.
      */
     private void startDeviceOwnerProvisioning(final ProvisioningParams params) {
         if (DEBUG) ProvisionLogger.logd("Starting device owner provisioning");
 
         // Construct Tasks. Do not start them yet.
-        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();
-                                }
-                            }
+       mAddWifiNetworkTask = new AddWifiNetworkTask(this, params.mWifiSsid,
+               params.mWifiHidden, params.mWifiSecurityType, params.mWifiPassword,
+               params.mWifiProxyHost, params.mWifiProxyPort, params.mWifiProxyBypassHosts,
+               params.mWifiPacUrl, new AddWifiNetworkTask.Callback() {
+                       @Override
+                       public void onSuccess() {
+                           progressUpdate(R.string.progress_download);
+                           mDownloadPackageTask.run();
+                       }
 
-                            @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,
-                params.mDeviceAdminPackageDownloadCookieHeader, new DownloadPackageTask.Callback() {
+
+        mDownloadPackageTask = new DownloadPackageTask(
+                this, params, new DownloadPackageTask.Callback() {
                         @Override
                         public void onSuccess() {
-                            String downloadLocation =
-                                    mDownloadPackageTask.getDownloadedPackageLocation();
                             progressUpdate(R.string.progress_install);
-                            mInstallPackageTask.run(downloadLocation);
+                            mInstallPackageTask.run(
+                                    mDownloadPackageTask.getDownloadedPackageLocation(
+                                            DownloadPackageTask.DEVICE_OWNER),
+                                    mDownloadPackageTask.getDownloadedPackageLocation(
+                                            DownloadPackageTask.INITIALIZER));
                         }
 
                         @Override
@@ -252,13 +195,22 @@
                         }
                     });
 
-        mInstallPackageTask = new InstallPackageTask(this,
-                params.mDeviceAdminPackageName,
-                new InstallPackageTask.Callback() {
+        mInstallPackageTask = new InstallPackageTask(
+                this, params, new InstallPackageTask.Callback() {
                     @Override
                     public void onSuccess() {
                         progressUpdate(R.string.progress_set_owner);
-                        mSetDevicePolicyTask.run();
+                        try {
+                            // Now that the app has been installed, we can look for the device admin
+                            // component in it.
+                            mSetDevicePolicyTask.run(mParams.inferDeviceAdminComponentName(
+                                    DeviceOwnerProvisioningService.this));
+                        } catch (Utils.IllegalProvisioningArgumentException e) {
+                            error(R.string.device_owner_error_general);
+                            ProvisionLogger.loge("Failed to infer the device admin component name",
+                                    e);
+                            return;
+                        }
                     }
 
                     @Override
@@ -276,18 +228,14 @@
                         }
                     }
                 });
-
         mSetDevicePolicyTask = new SetDevicePolicyTask(this,
-                params.mDeviceAdminPackageName,
+                getResources().getString(R.string.default_owned_device_username),
+                params.mDeviceInitializerComponentName,
                 getResources().getString(R.string.default_owned_device_username),
                 new SetDevicePolicyTask.Callback() {
                     @Override
                     public void onSuccess() {
-                        if (params.mLeaveAllSystemAppsEnabled) {
-                            onProvisioningSuccess(params.mDeviceAdminPackageName);
-                        } else {
-                            mDeleteNonRequiredAppsTask.run();
-                        }
+                        mDeleteNonRequiredAppsTask.run();
                     }
 
                     @Override
@@ -307,44 +255,25 @@
                 });
 
         mDeleteNonRequiredAppsTask = new DeleteNonRequiredAppsTask(
-                this, params.mDeviceAdminPackageName, UserHandle.USER_OWNER,
-                R.array.required_apps_managed_device, R.array.vendor_required_apps_managed_device,
-                true /* We are creating a new profile */,
-                false /* Do not disable INSTALL_SHORTCUT listeners */,
+                this, params.inferDeviceAdminPackageName(), R.array.required_apps_managed_device,
+                R.array.vendor_required_apps_managed_device, true /* creating new profile */,
+                UserHandle.USER_OWNER, params.mLeaveAllSystemAppsEnabled,
                 new DeleteNonRequiredAppsTask.Callback() {
+                    @Override
                     public void onSuccess() {
                         // Done with provisioning. Success.
-                        onProvisioningSuccess(params.mDeviceAdminPackageName);
+                        onProvisioningSuccess();
                     }
 
                     @Override
                     public void onError() {
                         error(R.string.device_owner_error_general);
-                    };
+                    }
                 });
 
         // Start first task, which starts next task in its callback, etc.
-        startFirstTask(params);
-    }
-
-    private void startFirstTask(final ProvisioningParams params) {
-        if (mAddWifiNetworkTask != null) {
-
-            // Connect to wifi.
-            progressUpdate(R.string.progress_connect_to_wifi);
-            mAddWifiNetworkTask.run();
-        } else if (!TextUtils.isEmpty(params.mDeviceAdminPackageDownloadLocation)) {
-
-            // Download, install, set as device owner, delete apps.
-            progressUpdate(R.string.progress_download);
-            mDownloadPackageTask.run();
-        } else {
-
-            // Device Admin will not be downloaded (but is already present):
-            // Just set as device owner, delete apps.
-            progressUpdate(R.string.progress_set_owner);
-            mSetDevicePolicyTask.run();
-        }
+        progressUpdate(R.string.progress_connect_to_wifi);
+        mAddWifiNetworkTask.run();
     }
 
     private void error(int dialogMessage) {
@@ -380,10 +309,18 @@
         LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
     }
 
-    private void onProvisioningSuccess(String deviceAdminPackage) {
+    private void onProvisioningSuccess() {
         if (DEBUG) ProvisionLogger.logd("Reporting success.");
         mDone = true;
 
+        // Persist mParams so HomeReceiverActivity can later retrieve them to finalize provisioning.
+        // This is necessary to deal with accidental reboots during DIA setup, which happens between
+        // the end of this method and HomeReceiverActivity captures the home intent.
+        IntentStore store = BootReminder.getDeviceOwnerFinalizingIntentStore(this);
+        Bundle resumeBundle = new Bundle();
+        (new MessageParser()).addProvisioningParamsToBundle(resumeBundle, mParams);
+        store.save(resumeBundle);
+
         // 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.
@@ -455,11 +392,6 @@
         if (mDownloadPackageTask != null) {
             mDownloadPackageTask.cleanUp();
         }
-        if (mIndirectHomeReceiver != null) {
-            LocalBroadcastManager.getInstance(this).unregisterReceiver(mIndirectHomeReceiver);
-            mIndirectHomeReceiver = null;
-        }
-
     }
 
     @Override
diff --git a/src/com/android/managedprovisioning/EncryptDeviceActivity.java b/src/com/android/managedprovisioning/EncryptDeviceActivity.java
index 29ba440..7452138 100644
--- a/src/com/android/managedprovisioning/EncryptDeviceActivity.java
+++ b/src/com/android/managedprovisioning/EncryptDeviceActivity.java
@@ -15,18 +15,18 @@
  */
 package com.android.managedprovisioning;
 
-import com.android.internal.widget.LockPatternUtils;
+import com.android.setupwizard.navigationbar.SetupWizardNavBar;
+import com.android.setupwizard.navigationbar.SetupWizardNavBar.NavigationBarListener;
 
 import android.app.Activity;
 import android.app.admin.DevicePolicyManager;
-import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
 import android.os.ServiceManager;
 import android.os.storage.IMountService;
 import android.os.RemoteException;
 import android.view.View;
-import android.widget.Button;
+import android.widget.TextView;
 
 /**
  * Activity to ask for permission to activate full-filesystem encryption.
@@ -34,43 +34,41 @@
  * Pressing 'settings' will launch settings to prompt the user to encrypt
  * the device.
  */
-public class EncryptDeviceActivity extends Activity {
+public class EncryptDeviceActivity extends Activity implements NavigationBarListener {
     protected static final String EXTRA_RESUME = "com.android.managedprovisioning.RESUME";
     protected static final String EXTRA_RESUME_TARGET =
             "com.android.managedprovisioning.RESUME_TARGET";
     protected static final String TARGET_PROFILE_OWNER = "profile_owner";
     protected static final String TARGET_DEVICE_OWNER = "device_owner";
 
-    private Button mCancelButton;
-    private Button mEncryptButton;
+    private Bundle mResumeInfo;
+    private String mResumeTarget;
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
-        final View contentView = getLayoutInflater().inflate(R.layout.encrypt_device, null);
-        mEncryptButton = (Button) contentView.findViewById(R.id.accept_button);
-        mCancelButton = (Button) contentView.findViewById(R.id.cancel_button);
-        setContentView(contentView);
-        mEncryptButton.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                final Bundle resumeInfo = getIntent().getBundleExtra(EXTRA_RESUME);
-                BootReminder.setProvisioningReminder(EncryptDeviceActivity.this, resumeInfo);
-                // Use settings so user confirms password/pattern and its passed
-                // to encryption tool.
-                Intent intent = new Intent();
-                intent.setAction(DevicePolicyManager.ACTION_START_ENCRYPTION);
-                startActivity(intent);
-            }
-        });
+        mResumeInfo = getIntent().getBundleExtra(EXTRA_RESUME);
+        mResumeTarget = mResumeInfo.getString(EXTRA_RESUME_TARGET);
 
-        mCancelButton.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                finish();
+        final View contentView = getLayoutInflater().inflate(R.layout.encrypt_device, null);
+        setContentView(contentView);
+
+        TextView titleView = (TextView) findViewById(R.id.title);
+        TextView maintextView = (TextView) findViewById(R.id.encrypt_main_text);
+        if (TARGET_PROFILE_OWNER.equals(mResumeTarget)) {
+            if (titleView != null) titleView.setText(getString(R.string.setup_work_profile));
+            if (maintextView != null) {
+                maintextView.setText(
+                        getString(R.string.encrypt_device_text_for_profile_owner_setup));
             }
-        });
+        } else if (TARGET_DEVICE_OWNER.equals(mResumeTarget)) {
+            if (titleView != null) titleView.setText(getString(R.string.setup_work_device));
+            if (maintextView != null) {
+                maintextView.setText(
+                        getString(R.string.encrypt_device_text_for_device_owner_setup));
+            }
+        }
     }
 
     public static boolean isDeviceEncrypted() {
@@ -83,4 +81,24 @@
             return false;
         }
     }
+
+    @Override
+    public void onNavigationBarCreated(SetupWizardNavBar bar) {
+        bar.getNextButton().setText(R.string.encrypt_device_launch_settings);
+    }
+
+    @Override
+    public void onNavigateBack() {
+        onBackPressed();
+    }
+
+    @Override
+    public void onNavigateNext() {
+        BootReminder.setProvisioningReminder(EncryptDeviceActivity.this, mResumeInfo);
+        // Use settings so user confirms password/pattern and its passed
+        // to encryption tool.
+        Intent intent = new Intent();
+        intent.setAction(DevicePolicyManager.ACTION_START_ENCRYPTION);
+        startActivity(intent);
+    }
 }
diff --git a/src/com/android/managedprovisioning/HomeReceiverActivity.java b/src/com/android/managedprovisioning/HomeReceiverActivity.java
index 3521949..0664512 100644
--- a/src/com/android/managedprovisioning/HomeReceiverActivity.java
+++ b/src/com/android/managedprovisioning/HomeReceiverActivity.java
@@ -16,10 +16,16 @@
 
 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.content.ComponentName;
 import android.content.Intent;
+import android.content.pm.PackageManager;
 import android.os.Bundle;
-import android.support.v4.content.LocalBroadcastManager;
+
+import com.android.managedprovisioning.Utils.IllegalProvisioningArgumentException;
 
 /*
  * This class is used to make sure that we start the mdm after we shut the Setup wizard down.
@@ -34,8 +40,51 @@
     @Override
    public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        Intent indirectIntent = new Intent(DeviceOwnerProvisioningService.ACTION_HOME_INDIRECT);
-        LocalBroadcastManager.getInstance(this).sendBroadcast(indirectIntent);
+        try {
+            finalizeProvisioning();
+            stopService(new Intent(this, DeviceOwnerProvisioningService.class));
+        } finally {
+            // Disable the HomeReceiverActivity. Make sure this is always called to prevent an
+            // infinite loop of HomeReceiverActivity capturing HOME intent in case something fails.
+            PackageManager pm = getPackageManager();
+            pm.setComponentEnabledSetting(new ComponentName(this,
+                            HomeReceiverActivity.class), PackageManager
+                    .COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
+        }
         finish();
     }
-}
\ No newline at end of file
+
+    private void finalizeProvisioning() {
+        IntentStore store = BootReminder.getDeviceOwnerFinalizingIntentStore(this);
+        Intent intent = store.load();
+        if (intent == null) {
+            ProvisionLogger.loge("Fail to retrieve ProvisioningParams from intent store.");
+            return;
+        }
+        store.clear();
+        ProvisioningParams mParams;
+        try {
+            MessageParser parser = new MessageParser();
+            mParams = parser.parseIntent(intent);
+        } catch (IllegalProvisioningArgumentException e) {
+            ProvisionLogger.loge("Failed to parse provisioning intent", e);
+            return;
+        }
+
+        // Finalizing provisioning: send complete intent to mdm.
+        Intent result = new Intent(ACTION_PROFILE_PROVISIONING_COMPLETE);
+        try {
+            result.setComponent(mParams.inferDeviceAdminComponentName(this));
+        } catch (Utils.IllegalProvisioningArgumentException e) {
+            ProvisionLogger.loge("Failed to infer the device admin component name", e);
+            return;
+        }
+        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);
+    }
+}
diff --git a/src/com/android/managedprovisioning/IntentStore.java b/src/com/android/managedprovisioning/IntentStore.java
index ae5839a..3656f09 100644
--- a/src/com/android/managedprovisioning/IntentStore.java
+++ b/src/com/android/managedprovisioning/IntentStore.java
@@ -49,6 +49,7 @@
     private String[] mBooleanKeys = new String[0];
     private String[] mPersistableBundleKeys = new String[0];
     private String[] mAccountKeys = new String[0];
+    private String[] mComponentNameKeys = new String[0];
 
     private static final String TAG_PERSISTABLEBUNDLE = "persistable_bundle";
     private static final String TAG_ACCOUNT = "account";
@@ -94,6 +95,11 @@
         return this;
     }
 
+    public IntentStore setComponentNameKeys(String[] keys) {
+        mComponentNameKeys = (keys == null) ? new String[0] : keys;
+        return this;
+    }
+
     public void clear() {
         mPrefs.edit().clear().commit();
     }
@@ -130,6 +136,12 @@
                 editor.putString(key, bundleString);
             }
         }
+        for (String key : mComponentNameKeys) {
+            ComponentName cn = (ComponentName) data.getParcelable(key);
+            if (cn != null) {
+                editor.putString(key, cn.flattenToString());
+            }
+        }
         editor.putBoolean(IS_SET, true);
         editor.commit();
     }
@@ -179,6 +191,14 @@
                 }
             }
         }
+        for (String key : mComponentNameKeys) {
+            if (mPrefs.contains(key)) {
+                String st = mPrefs.getString(key, null);
+                if (st != null) {
+                    result.putExtra(key, ComponentName.unflattenFromString(st));
+                }
+            }
+        }
 
         return result;
     }
diff --git a/src/com/android/managedprovisioning/MessageParser.java b/src/com/android/managedprovisioning/MessageParser.java
index 1cb77d7..19dde78 100644
--- a/src/com/android/managedprovisioning/MessageParser.java
+++ b/src/com/android/managedprovisioning/MessageParser.java
@@ -28,14 +28,23 @@
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_WIFI_PROXY_BYPASS;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_WIFI_PAC_URL;
 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.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM;
 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_NAME;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_INITIALIZER_COMPONENT_NAME;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_LOCATION;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_COOKIE_HEADER;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_CHECKSUM;
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_SKIP_ENCRYPTION;
 import static android.app.admin.DevicePolicyManager.MIME_TYPE_PROVISIONING_NFC;
 import static java.nio.charset.StandardCharsets.UTF_8;
 
+import android.content.ComponentName;
+import android.content.Context;
 import android.content.Intent;
 import android.nfc.NdefMessage;
 import android.nfc.NdefRecord;
@@ -46,6 +55,8 @@
 import android.text.TextUtils;
 import android.util.Base64;
 
+import com.android.managedprovisioning.Utils.IllegalProvisioningArgumentException;
+
 import java.io.IOException;
 import java.io.StringReader;
 import java.util.Enumeration;
@@ -70,17 +81,26 @@
  *
  * <p>
  * Intent was received directly.
- * The intent contains the extra {@link #EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME},
- * and may contain {@link #EXTRA_PROVISIONING_TIME_ZONE},
- * {@link #EXTRA_PROVISIONING_LOCAL_TIME}, and {@link #EXTRA_PROVISIONING_LOCALE}. A download
- * location may be specified in {@link #EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION}
- * together with an optional http cookie header
- * {@link #EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER} accompanied by the SHA-1
- * 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
+ * The intent contains the extra {@link #EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME} or
+ * {@link #EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME} (which is deprecated and supported for
+ * legacy reasons only), and may contain {@link #EXTRA_PROVISIONING_TIME_ZONE},
+ * {@link #EXTRA_PROVISIONING_LOCAL_TIME}, {@link #EXTRA_PROVISIONING_LOCALE}, and
+ * {@link #EXTRA_PROVISIONING_DEVICE_INITIALIZER_COMPONENT_NAME}. A download
+ * location for the device admin may be specified in
+ * {@link #EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION} together with an optional
+ * http cookie header {@link #EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER}
+ * accompanied by the SHA-1 sum of the target file
+ * {@link #EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM}. A download location for the device
+ * initializer may be specified in
+ * {@link #EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_LOCATION} together with an
+ * optional http cookie header
+ * {@link #EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_COOKIE_HEADER} accompanied by the
+ * SHA-1 sum of the target file {@link #EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_CHECKSUM}.
+ * Additional information to send through to the device initializer and 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.
+ * The optional boolean {@link #EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED} indicates whether
+ * system apps should not be disabled. The optional boolean
+ * {@link #EXTRA_PROVISIONING_SKIP_ENCRYPTION} specifies whether the device should be encrypted.
  * 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},
@@ -110,7 +130,10 @@
         EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME,
         EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION,
         EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER,
-        EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM
+        EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM,
+        EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_LOCATION,
+        EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_COOKIE_HEADER,
+        EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_CHECKSUM
     };
 
     protected static final String[] DEVICE_OWNER_LONG_EXTRAS = {
@@ -124,13 +147,19 @@
     protected static final String[] DEVICE_OWNER_BOOLEAN_EXTRAS = {
         EXTRA_PROVISIONING_WIFI_HIDDEN,
         EXTRA_PROVISIONING_STARTED_BY_NFC,
-        EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED
+        EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED,
+        EXTRA_PROVISIONING_SKIP_ENCRYPTION
     };
 
     protected static final String[] DEVICE_OWNER_PERSISTABLE_BUNDLE_EXTRAS = {
         EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE
     };
 
+    protected static final String[] DEVICE_OWNER_COMPONENT_NAME_EXTRAS = {
+        EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME,
+        EXTRA_PROVISIONING_DEVICE_INITIALIZER_COMPONENT_NAME
+    };
+
     public void addProvisioningParamsToBundle(Bundle bundle, ProvisioningParams params) {
         bundle.putString(EXTRA_PROVISIONING_TIME_ZONE, params.mTimeZone);
         bundle.putString(EXTRA_PROVISIONING_LOCALE, params.getLocaleAsString());
@@ -142,12 +171,22 @@
         bundle.putString(EXTRA_PROVISIONING_WIFI_PAC_URL, params.mWifiPacUrl);
         bundle.putString(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME,
                 params.mDeviceAdminPackageName);
+        bundle.putParcelable(EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME,
+                params.mDeviceAdminComponentName);
         bundle.putString(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION,
                 params.mDeviceAdminPackageDownloadLocation);
         bundle.putString(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER,
                 params.mDeviceAdminPackageDownloadCookieHeader);
         bundle.putString(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM,
                 params.getDeviceAdminPackageChecksumAsString());
+        bundle.putParcelable(EXTRA_PROVISIONING_DEVICE_INITIALIZER_COMPONENT_NAME,
+                params.mDeviceInitializerComponentName);
+        bundle.putString(EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_LOCATION,
+                params.mDeviceInitializerPackageDownloadLocation);
+        bundle.putString(EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_COOKIE_HEADER,
+                params.mDeviceInitializerPackageDownloadCookieHeader);
+        bundle.putString(EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_CHECKSUM,
+                params.getDeviceInitializerPackageChecksumAsString());
 
         bundle.putLong(EXTRA_PROVISIONING_LOCAL_TIME, params.mLocalTime);
 
@@ -159,9 +198,11 @@
                 params.mLeaveAllSystemAppsEnabled);
 
         bundle.putParcelable(EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE, params.mAdminExtrasBundle);
+        bundle.putBoolean(EXTRA_PROVISIONING_SKIP_ENCRYPTION, params.mSkipEncryption);
     }
 
-    public ProvisioningParams parseIntent(Intent intent) throws ParseException {
+    public ProvisioningParams parseIntent(Intent intent)
+            throws IllegalProvisioningArgumentException {
         ProvisionLogger.logi("Processing intent.");
         if (intent.hasExtra(NfcAdapter.EXTRA_NDEF_MESSAGES)) {
             return parseNfcIntent(intent);
@@ -171,7 +212,7 @@
     }
 
     public ProvisioningParams parseNfcIntent(Intent nfcIntent)
-        throws ParseException {
+            throws IllegalProvisioningArgumentException {
         ProvisionLogger.logi("Processing Nfc Payload.");
         // Only one first message with NFC_MIME_TYPE is used.
         for (Parcelable rawMsg : nfcIntent
@@ -189,16 +230,15 @@
                 return params;
             }
         }
-        throw new ParseException(
-                "Intent does not contain NfcRecord with the correct MIME type.",
-                R.string.device_owner_error_general);
+        throw new IllegalProvisioningArgumentException(
+                "Intent does not contain NfcRecord with the correct MIME type.");
     }
 
-    // Note: You can't include the EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE in the properties that is
-    // send over Nfc, because there is no publicly documented conversion from PersistableBundle to
-    // String.
+    // Note: EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE property contains a Properties object
+    // serialized into String. See Properties.store() and Properties.load() for more details.
+    // The property value is optional.
     private ProvisioningParams parseProperties(String data)
-            throws ParseException {
+            throws IllegalProvisioningArgumentException {
         ProvisioningParams params = new ProvisioningParams();
         try {
             Properties props = new Properties();
@@ -218,6 +258,12 @@
             params.mWifiPacUrl = props.getProperty(EXTRA_PROVISIONING_WIFI_PAC_URL);
             params.mDeviceAdminPackageName
                     = props.getProperty(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME);
+            String componentNameString = props.getProperty(
+                    EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME);
+            if (componentNameString != null) {
+                params.mDeviceAdminComponentName = ComponentName.unflattenFromString(
+                        componentNameString);
+            }
             params.mDeviceAdminPackageDownloadLocation
                     = props.getProperty(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION);
             params.mDeviceAdminPackageDownloadCookieHeader = props.getProperty(
@@ -225,6 +271,19 @@
             if ((s = props.getProperty(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM)) != null) {
                 params.mDeviceAdminPackageChecksum = stringToByteArray(s);
             }
+            String name = props.getProperty(
+                    EXTRA_PROVISIONING_DEVICE_INITIALIZER_COMPONENT_NAME);
+            if (name != null) {
+                params.mDeviceInitializerComponentName = ComponentName.unflattenFromString(name);
+            }
+            params.mDeviceInitializerPackageDownloadLocation = props.getProperty(
+                    EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_LOCATION);
+            params.mDeviceInitializerPackageDownloadCookieHeader = props.getProperty(
+                    EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_COOKIE_HEADER);
+            if ((s = props.getProperty(
+                    EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_CHECKSUM)) != null) {
+                params.mDeviceInitializerPackageChecksum = stringToByteArray(s);
+            }
 
             if ((s = props.getProperty(EXTRA_PROVISIONING_LOCAL_TIME)) != null) {
                 params.mLocalTime = Long.parseLong(s);
@@ -241,23 +300,39 @@
             if ((s = props.getProperty(EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED)) != null) {
                 params.mLeaveAllSystemAppsEnabled = Boolean.parseBoolean(s);
             }
+            if ((s = props.getProperty(EXTRA_PROVISIONING_SKIP_ENCRYPTION)) != null) {
+                params.mSkipEncryption = Boolean.parseBoolean(s);
+            }
+
+            deserializeAdminExtrasBundle(params, props);
 
             checkValidityOfProvisioningParams(params);
             return params;
         } catch (IOException e) {
-            throw new ParseException("Couldn't load payload",
-                    R.string.device_owner_error_general, e);
+            throw new Utils.IllegalProvisioningArgumentException("Couldn't load payload", e);
         } catch (NumberFormatException e) {
-            throw new ParseException("Incorrect numberformat.",
-                    R.string.device_owner_error_general, e);
+            throw new Utils.IllegalProvisioningArgumentException("Incorrect numberformat.", e);
         } catch (IllformedLocaleException e) {
-            throw new ParseException("Invalid locale.",
-                    R.string.device_owner_error_general, e);
+            throw new Utils.IllegalProvisioningArgumentException("Invalid locale.", e);
+        }
+    }
+
+    private void deserializeAdminExtrasBundle(ProvisioningParams params, Properties props)
+            throws IOException {
+        String serializedExtras = props.getProperty(EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE);
+        if (serializedExtras != null) {
+            Properties extrasProp = new Properties();
+            extrasProp.load(new StringReader(serializedExtras));
+            PersistableBundle extrasBundle = new PersistableBundle(extrasProp.size());
+            for (String propName : extrasProp.stringPropertyNames()) {
+                extrasBundle.putString(propName, extrasProp.getProperty(propName));
+            }
+            params.mAdminExtrasBundle = extrasBundle;
         }
     }
 
     public ProvisioningParams parseNonNfcIntent(Intent intent)
-        throws ParseException {
+            throws IllegalProvisioningArgumentException {
         ProvisionLogger.logi("Processing intent.");
         ProvisioningParams params = new ProvisioningParams();
 
@@ -272,6 +347,8 @@
         params.mWifiProxyHost = intent.getStringExtra(EXTRA_PROVISIONING_WIFI_PROXY_HOST);
         params.mWifiProxyBypassHosts = intent.getStringExtra(EXTRA_PROVISIONING_WIFI_PROXY_BYPASS);
         params.mWifiPacUrl = intent.getStringExtra(EXTRA_PROVISIONING_WIFI_PAC_URL);
+        params.mDeviceAdminComponentName = (ComponentName) intent.getParcelableExtra(
+                EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME);
         params.mDeviceAdminPackageName
                 = intent.getStringExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME);
         params.mDeviceAdminPackageDownloadLocation
@@ -282,6 +359,16 @@
         if (hashString != null) {
             params.mDeviceAdminPackageChecksum = stringToByteArray(hashString);
         }
+        params.mDeviceInitializerComponentName = (ComponentName) intent.getParcelableExtra(
+                EXTRA_PROVISIONING_DEVICE_INITIALIZER_COMPONENT_NAME);
+        params.mDeviceInitializerPackageDownloadLocation = intent.getStringExtra(
+                EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_LOCATION);
+        params.mDeviceInitializerPackageDownloadCookieHeader = intent.getStringExtra(
+                EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_COOKIE_HEADER);
+        hashString = intent.getStringExtra(EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_CHECKSUM);
+        if (hashString != null) {
+            params.mDeviceInitializerPackageChecksum = stringToByteArray(hashString);
+        }
 
         params.mLocalTime = intent.getLongExtra(EXTRA_PROVISIONING_LOCAL_TIME,
                 ProvisioningParams.DEFAULT_LOCAL_TIME);
@@ -296,14 +383,17 @@
         params.mLeaveAllSystemAppsEnabled = intent.getBooleanExtra(
                 EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED,
                 ProvisioningParams.DEFAULT_LEAVE_ALL_SYSTEM_APPS_ENABLED);
+        params.mSkipEncryption = intent.getBooleanExtra(
+                EXTRA_PROVISIONING_SKIP_ENCRYPTION,
+                ProvisioningParams.DEFAULT_EXTRA_PROVISIONING_SKIP_ENCRYPTION);
 
         try {
             params.mAdminExtrasBundle = (PersistableBundle) intent.getParcelableExtra(
                     EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE);
         } catch (ClassCastException e) {
-            throw new ParseException("Extra " + EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE
-                    + " must be of type PersistableBundle.",
-                    R.string.device_owner_error_general, e);
+            throw new IllegalProvisioningArgumentException("Extra "
+                    + EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE
+                    + " must be of type PersistableBundle.", e);
         }
 
         checkValidityOfProvisioningParams(params);
@@ -314,45 +404,21 @@
      * Check whether necessary fields are set.
      */
     private void checkValidityOfProvisioningParams(ProvisioningParams params)
-        throws ParseException  {
-        if (TextUtils.isEmpty(params.mDeviceAdminPackageName)) {
-            throw new ParseException("Must provide the name of the device admin package.",
-                    R.string.device_owner_error_general);
+            throws IllegalProvisioningArgumentException  {
+        if (TextUtils.isEmpty(params.mDeviceAdminPackageName)
+                && params.mDeviceAdminComponentName == null) {
+            throw new IllegalProvisioningArgumentException("Must provide the name of the device"
+                    + " admin package or component name");
         }
         if (!TextUtils.isEmpty(params.mDeviceAdminPackageDownloadLocation)) {
             if (params.mDeviceAdminPackageChecksum == null ||
                     params.mDeviceAdminPackageChecksum.length == 0) {
-                throw new ParseException("Checksum of installer file is required for downloading " +
-                        "device admin file, but not provided.",
-                        R.string.device_owner_error_general);
+                throw new IllegalProvisioningArgumentException("Checksum of installer file is"
+                        + " required for downloading device admin file, but not provided.");
             }
         }
     }
 
-    /**
-     * Exception thrown when the ProvisioningParams initialization failed completely.
-     *
-     * Note: We're using a custom exception to avoid catching subsequent exceptions that might be
-     * significant.
-     */
-    public static class ParseException extends Exception {
-        private int mErrorMessageId;
-
-        public ParseException(String message, int errorMessageId) {
-            super(message);
-            mErrorMessageId = errorMessageId;
-        }
-
-        public ParseException(String message, int errorMessageId, Throwable t) {
-            super(message, t);
-            mErrorMessageId = errorMessageId;
-        }
-
-        public int getErrorMessageId() {
-            return mErrorMessageId;
-        }
-    }
-
     public static byte[] stringToByteArray(String s)
         throws NumberFormatException {
         try {
diff --git a/src/com/android/managedprovisioning/PreBootListener.java b/src/com/android/managedprovisioning/PreBootListener.java
index 151ef9a..692dbec 100644
--- a/src/com/android/managedprovisioning/PreBootListener.java
+++ b/src/com/android/managedprovisioning/PreBootListener.java
@@ -22,11 +22,11 @@
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
-import android.content.pm.UserInfo;
 import android.os.UserHandle;
 import android.os.UserManager;
 
 import com.android.managedprovisioning.task.DeleteNonRequiredAppsTask;
+import com.android.managedprovisioning.task.DisableInstallShortcutListenersTask;
 
 import java.util.List;
 
@@ -50,10 +50,23 @@
                     .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 */);
+            new DeleteNonRequiredAppsTask(context, dpm.getDeviceOwner(),
+                    R.array.required_apps_managed_device,
+                    R.array.vendor_required_apps_managed_device,
+                    false /* not creating new profile */,
+                    UserHandle.USER_OWNER,
+                    false /* delete non-required system apps */,
+                    new DeleteNonRequiredAppsTask.Callback() {
+
+                        @Override
+                        public void onSuccess() {}
+
+                        @Override
+                        public void onError() {
+                            ProvisionLogger.loge("Error while checking if there are new system "
+                                    + "apps that need to be deleted");
+                        }
+                    }).run();
         }
 
         // Check for managed profiles.
@@ -81,31 +94,38 @@
                 ProvisionLogger.loge("No profile owner on managed profile " + userInfo.id);
                 continue;
             }
-            deleteNonRequiredApps(context, profileOwner.getPackageName(), userInfo.id,
+
+            // always set the DISALLOW_WALLPAPER user restriction
+            um.setUserRestriction(UserManager.DISALLOW_WALLPAPER, true, userInfo.getUserHandle());
+
+            final DeleteNonRequiredAppsTask deleteNonRequiredAppsTask;
+            final DisableInstallShortcutListenersTask disableInstallShortcutListenersTask;
+
+            disableInstallShortcutListenersTask = new DisableInstallShortcutListenersTask(context,
+                    userInfo.id);
+
+            deleteNonRequiredAppsTask = new DeleteNonRequiredAppsTask(context,
+                    profileOwner.getPackageName(),
                     R.array.required_apps_managed_profile,
                     R.array.vendor_required_apps_managed_profile,
-                    true /* Disable INSTALL_SHORTCUT listeners */);
+                    false /* not creating new profile */,
+                    userInfo.id,
+                    false /* delete non-required system apps */,
+                    new DeleteNonRequiredAppsTask.Callback() {
+
+                        @Override
+                        public void onSuccess() {
+                            disableInstallShortcutListenersTask.run();
+                        }
+
+                        @Override
+                        public void onError() {
+                            ProvisionLogger.loge("Error while checking if there are new system "
+                                    + "apps that need to be deleted");
+                        }
+                    });
+
+            deleteNonRequiredAppsTask.run();
         }
     }
-
-    private void deleteNonRequiredApps(Context context, String mdmPackageName, int userId,
-            int requiredAppsList, int vendorRequiredAppsList,
-            boolean disableInstallShortcutListeners) {
-        new DeleteNonRequiredAppsTask(context, mdmPackageName, userId,
-                requiredAppsList, vendorRequiredAppsList,
-                false /*we are not creating a new profile*/,
-                disableInstallShortcutListeners,
-                new DeleteNonRequiredAppsTask.Callback() {
-
-                    @Override
-                    public void onSuccess() {
-                    }
-
-                    @Override
-                    public void onError() {
-                        ProvisionLogger.loge("Error while checking if there are new system "
-                                + "apps that need to be deleted");
-                    }
-                }).run();
-    }
 }
diff --git a/src/com/android/managedprovisioning/ProfileOwnerPreProvisioningActivity.java b/src/com/android/managedprovisioning/ProfileOwnerPreProvisioningActivity.java
index cd3ddb7..c77777c 100644
--- a/src/com/android/managedprovisioning/ProfileOwnerPreProvisioningActivity.java
+++ b/src/com/android/managedprovisioning/ProfileOwnerPreProvisioningActivity.java
@@ -16,28 +16,17 @@
 
 package com.android.managedprovisioning;
 
-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 com.android.managedprovisioning.EncryptDeviceActivity.EXTRA_RESUME;
-import static com.android.managedprovisioning.EncryptDeviceActivity.EXTRA_RESUME_TARGET;
-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.app.admin.DevicePolicyManager;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
-import android.content.IntentFilter;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
-import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.pm.UserInfo;
-import android.graphics.drawable.Drawable;
 import android.os.Build;
 import android.os.Bundle;
 import android.os.PersistableBundle;
@@ -45,23 +34,34 @@
 import android.os.SystemProperties;
 import android.os.UserHandle;
 import android.os.UserManager;
-import android.support.v4.content.LocalBroadcastManager;
-import android.text.TextUtils;
 import android.view.LayoutInflater;
 import android.view.View;
+import android.widget.Button;
 import android.widget.ImageView;
 import android.widget.TextView;
-import android.widget.Button;
+
+import com.android.managedprovisioning.DeleteManagedProfileDialog.DeleteManagedProfileCallback;
+import com.android.managedprovisioning.UserConsentDialog.ConsentCallback;
+import com.android.managedprovisioning.Utils.IllegalProvisioningArgumentException;
+import com.android.managedprovisioning.Utils.MdmPackageInfo;
+import com.android.setupwizard.navigationbar.SetupWizardNavBar;
+import com.android.setupwizard.navigationbar.SetupWizardNavBar.NavigationBarListener;
 
 import java.util.List;
 
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME;
+import static com.android.managedprovisioning.EncryptDeviceActivity.EXTRA_RESUME;
+import static com.android.managedprovisioning.EncryptDeviceActivity.EXTRA_RESUME_TARGET;
+import static com.android.managedprovisioning.EncryptDeviceActivity.TARGET_PROFILE_OWNER;
+
 /**
  * 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.
  */
 public class ProfileOwnerPreProvisioningActivity extends Activity
-        implements UserConsentDialog.ConsentCallback {
+        implements ConsentCallback, DeleteManagedProfileCallback, NavigationBarListener {
 
     private static final String MANAGE_USERS_PERMISSION = "android.permission.MANAGE_USERS";
 
@@ -81,8 +81,18 @@
     protected static final int ENCRYPT_DEVICE_REQUEST_CODE = 2;
     protected static final int CHANGE_LAUNCHER_REQUEST_CODE = 1;
 
+    // Hide default system navigation bar.
+    protected static final int IMMERSIVE_FLAGS = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
+            | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;
+
     private String mMdmPackageName;
 
+    private ComponentName mMdmComponentName;
+
+    private Button mSetupButton;
+
+    private DeleteManagedProfileDialog mDeleteDialog;
+
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -91,6 +101,9 @@
         View contentView = inflater.inflate(R.layout.user_consent, null);
         setContentView(contentView);
 
+        TextView titleView = (TextView) findViewById(R.id.title);
+        if (titleView != null) titleView.setText(getString(R.string.setup_work_profile));
+
         // Check whether system has the required managed profile feature.
         if (!systemHasManagedProfileFeature()) {
             showErrorAndClose(R.string.managed_provisioning_not_supported,
@@ -107,7 +120,7 @@
         // Initialize member variables from the intent, stop if the intent wasn't valid.
         try {
             initialize(getIntent());
-        } catch (ProvisioningFailedException e) {
+        } catch (IllegalProvisioningArgumentException e) {
             showErrorAndClose(R.string.managed_provisioning_error_text, e.getMessage());
             return;
         }
@@ -144,23 +157,37 @@
             return;
         }
 
-        // If there is already a managed profile, allow the user to cancel or delete it.
+        // If there is already a managed profile, setup the profile deletion dialog.
+        // Otherwise, check whether system has reached maximum user limit.
         int existingManagedProfileUserId = alreadyHasManagedProfile();
         if (existingManagedProfileUserId != -1) {
-            showManagedProfileExistsDialog(existingManagedProfileUserId);
+            createDeleteManagedProfileDialog(dpm, existingManagedProfileUserId);
+        } else if (isMaximumUserLimitReached()) {
+            showErrorAndClose(R.string.maximum_user_limit_reached,
+                    "Exiting managed profile provisioning, cannot add more users.");
         } else {
-            showStartProvisioningScreen();
+            showStartProvisioningButton();
         }
     }
 
-    private void showStartProvisioningScreen() {
-        Button positiveButton = (Button) findViewById(R.id.positive_button);
-        positiveButton.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                checkEncryptedAndStartProvisioningService();
-            }
-        });
+    @Override
+    protected void onResume() {
+        super.onResume();
+
+        if (alreadyHasManagedProfile() != -1) {
+            showDeleteManagedProfileDialog();
+        }
+    }
+
+    @Override
+    protected void onPause() {
+        super.onPause();
+
+        hideDeleteManagedProfileDialog();
+    }
+
+    private void showStartProvisioningButton() {
+        mSetupButton.setVisibility(View.VISIBLE);
     }
 
     private boolean packageHasManageUsersPermission(String pkg) {
@@ -173,6 +200,11 @@
         return pm.hasSystemFeature(PackageManager.FEATURE_MANAGED_USERS);
     }
 
+    private boolean isMaximumUserLimitReached() {
+        UserManager userManager = (UserManager) getSystemService(Context.USER_SERVICE);
+        return !userManager.canAddMoreUsers();
+    }
+
     private boolean currentLauncherSupportsManagedProfiles() {
         Intent intent = new Intent(Intent.ACTION_MAIN);
         intent.addCategory(Intent.CATEGORY_HOME);
@@ -184,6 +216,10 @@
             return false;
         }
         try {
+            // If the user has not chosen a default launcher, then launcherResolveInfo will be
+            // referring to the resolver activity. It is fine to create a managed profile in
+            // this case since there will always be at least one launcher on the device that
+            // supports managed profile feature.
             ApplicationInfo launcherAppInfo = getPackageManager().getApplicationInfo(
                     launcherResolveInfo.activityInfo.packageName, 0 /* default flags */);
             return versionNumberAtLeastL(launcherAppInfo.targetSdkVersion);
@@ -197,23 +233,13 @@
     }
 
     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) findViewById(R.id.mdm_icon_view);
-                    imageView.setImageDrawable(packageIcon);
+        MdmPackageInfo packageInfo = Utils.getMdmPackageInfo(getPackageManager(), packageName);
+        if (packageInfo != null) {
+            ImageView imageView = (ImageView) findViewById(R.id.mdm_icon_view);
+            imageView.setImageDrawable(packageInfo.getPackageIcon());
 
-                    String appLabel = pm.getApplicationLabel(ai).toString();
-                    TextView deviceManagerName = (TextView) findViewById(R.id.device_manager_name);
-                    deviceManagerName.setText(appLabel);
-                }
-            } catch (PackageManager.NameNotFoundException e) {
-                // Package does not exist, ignore. Should never happen.
-                ProvisionLogger.loge("Package does not exist. Should never happen.");
-            }
+            TextView deviceManagerName = (TextView) findViewById(R.id.device_manager_name);
+            deviceManagerName.setText(packageInfo.getAppLabel());
         }
     }
 
@@ -224,30 +250,20 @@
      *
      * @param intent The intent that started provisioning
      */
-    private void initialize(Intent intent) throws ProvisioningFailedException {
+    private void initialize(Intent intent) throws IllegalProvisioningArgumentException {
         // 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 ProvisioningFailedException("Extra "
+            throw new IllegalProvisioningArgumentException("Extra "
                     + EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE
                     + " must be of type PersistableBundle.", e);
         }
 
-        // Validate package name and check if the package is installed
-        mMdmPackageName = intent.getStringExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME);
-        if (TextUtils.isEmpty(mMdmPackageName)) {
-            throw new ProvisioningFailedException("Missing intent extra: "
-                    + EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME);
-        } else {
-            try {
-                this.getPackageManager().getPackageInfo(mMdmPackageName, 0);
-            } catch (NameNotFoundException e) {
-                throw new ProvisioningFailedException("Mdm "+ mMdmPackageName
-                        + " is not installed. ", e);
-            }
-        }
+        mMdmComponentName = Utils.findDeviceAdminFromIntent(intent, this);
+        mMdmPackageName = mMdmComponentName.getPackageName();
+
     }
 
     /**
@@ -263,7 +279,7 @@
             UserConsentDialog.newInstance(UserConsentDialog.PROFILE_OWNER)
                     .show(getFragmentManager(), "UserConsentDialogFragment");
         } else {
-            Bundle resumeExtras = getIntent().getExtras();
+            Bundle resumeExtras = getNewExtras();
             resumeExtras.putString(EXTRA_RESUME_TARGET, TARGET_PROFILE_OWNER);
             Intent encryptIntent = new Intent(this, EncryptDeviceActivity.class)
                     .putExtra(EXTRA_RESUME, resumeExtras);
@@ -282,6 +298,19 @@
         // Do nothing.
     }
 
+    @Override
+    public void onRemoveProfileApproval(int existingManagedProfileUserId) {
+        mDeleteDialog = null;
+        UserManager userManager = (UserManager) getSystemService(Context.USER_SERVICE);
+        userManager.removeUser(existingManagedProfileUserId);
+        showStartProvisioningButton();
+    }
+
+    @Override
+    public void onRemoveProfileCancel() {
+        finish();
+    }
+
     private void setupEnvironmentAndProvision() {
         // Remove any pre-provisioning UI in favour of progress display
         BootReminder.cancelProvisioningReminder(this);
@@ -303,8 +332,19 @@
 
     private void startProfileOwnerProvisioning() {
         Intent intent = new Intent(this, ProfileOwnerProvisioningActivity.class);
-        intent.putExtras(getIntent());
+        intent.putExtras(getNewExtras());
         startActivityForResult(intent, PROVISIONING_REQUEST_CODE);
+        // Set cross-fade transition animation into the interstitial progress activity.
+        overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
+    }
+
+    private Bundle getNewExtras() {
+        Bundle bundle = getIntent().getExtras();
+        // The original intent may have contained the package name but not the component name.
+        // But now, we know what the component name is. So let's pass it.
+        bundle.putParcelable(EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME,
+                mMdmComponentName);
+        return bundle;
     }
 
     @Override
@@ -347,7 +387,9 @@
                             public void onClick(DialogInterface dialog,int id) {
                                 pickLauncher();
                             }
-                        }).show();
+                        })
+                .show()
+                .getWindow().getDecorView().setSystemUiVisibility(IMMERSIVE_FLAGS);
     }
 
     public void showErrorAndClose(int resourceId, String logText) {
@@ -364,7 +406,9 @@
                                     .setResult(Activity.RESULT_CANCELED);
                             ProfileOwnerPreProvisioningActivity.this.finish();
                         }
-                    }).show();
+                    })
+                .show()
+                .getWindow().getDecorView().setSystemUiVisibility(IMMERSIVE_FLAGS);
     }
 
     /**
@@ -383,71 +427,55 @@
     }
 
     /**
-     * Builds a dialog that allows the user to remove an existing managed profile after they were
-     * shown an additional warning.
+     * Builds a dialog that allows the user to remove an existing managed profile.
      */
-    private void showManagedProfileExistsDialog(
-            final int existingManagedProfileUserId) {
-
-        // Before deleting, show a warning dialog
-        DialogInterface.OnClickListener warningListener =
-                new DialogInterface.OnClickListener() {
-            @Override
-            public void onClick(DialogInterface dialog, int which) {
-                // Really delete the profile if the user clicks delete on the warning dialog.
-                final DialogInterface.OnClickListener deleteListener =
-                        new DialogInterface.OnClickListener() {
-                    @Override
-                    public void onClick(DialogInterface dialog, int which) {
-                        UserManager userManager =
-                                (UserManager) getSystemService(Context.USER_SERVICE);
-                        userManager.removeUser(existingManagedProfileUserId);
-                        showStartProvisioningScreen();
-                    }
-                };
-                buildDeleteManagedProfileDialog(
-                        getString(R.string.sure_you_want_to_delete_profile),
-                        deleteListener).show();
-            }
-        };
-
-        buildDeleteManagedProfileDialog(
-                getString(R.string.managed_profile_already_present),
-                warningListener).show();
-    }
-
-    private AlertDialog buildDeleteManagedProfileDialog(String message,
-            DialogInterface.OnClickListener deleteListener) {
-        DialogInterface.OnClickListener cancelListener =
-                new DialogInterface.OnClickListener() {
-            @Override
-            public void onClick(DialogInterface dialog, int which) {
-                ProfileOwnerPreProvisioningActivity.this.finish();
-            }
-        };
-
-        AlertDialog.Builder builder = new AlertDialog.Builder(this);
-        builder.setMessage(message)
-                .setCancelable(false)
-                .setPositiveButton(getString(R.string.delete_profile), deleteListener)
-                .setNegativeButton(getString(R.string.cancel_delete_profile), cancelListener);
-
-        return builder.create();
-    }
-    /**
-     * 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 ProvisioningFailedException extends Exception {
-        public ProvisioningFailedException(String message) {
-            super(message);
+    private void createDeleteManagedProfileDialog(DevicePolicyManager dpm,
+            int existingManagedProfileUserId) {
+        if (mDeleteDialog != null) {
+            return;
         }
 
-        public ProvisioningFailedException(String message, Throwable t) {
-            super(message, t);
+        ComponentName mdmPackageName = dpm.getProfileOwnerAsUser(existingManagedProfileUserId);
+        String domainName = dpm.getProfileOwnerNameAsUser(existingManagedProfileUserId);
+
+        mDeleteDialog = DeleteManagedProfileDialog.newInstance(existingManagedProfileUserId,
+                mdmPackageName, domainName);
+    }
+
+    private void showDeleteManagedProfileDialog() {
+        if (mDeleteDialog == null) {
+            return;
         }
+
+        if (!mDeleteDialog.isVisible()) {
+            mDeleteDialog.show(getFragmentManager(), "DeleteManagedProfileDialogFragment");
+        }
+    }
+
+    private void hideDeleteManagedProfileDialog() {
+        if (mDeleteDialog == null) {
+            return;
+        }
+
+        mDeleteDialog.dismiss();
+        mDeleteDialog = null;
+    }
+
+    @Override
+    public void onNavigationBarCreated(SetupWizardNavBar bar) {
+        mSetupButton = bar.getNextButton();
+        mSetupButton.setText(R.string.set_up);
+        mSetupButton.setVisibility(View.INVISIBLE);
+    }
+
+    @Override
+    public void onNavigateBack() {
+        onBackPressed();
+    }
+
+    @Override
+    public void onNavigateNext() {
+        checkEncryptedAndStartProvisioningService();
     }
 }
 
diff --git a/src/com/android/managedprovisioning/ProfileOwnerProvisioningActivity.java b/src/com/android/managedprovisioning/ProfileOwnerProvisioningActivity.java
index a785b09..dd3dcf5 100644
--- a/src/com/android/managedprovisioning/ProfileOwnerProvisioningActivity.java
+++ b/src/com/android/managedprovisioning/ProfileOwnerProvisioningActivity.java
@@ -17,6 +17,7 @@
 package com.android.managedprovisioning;
 
 import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME;
 
 import android.accounts.Account;
 import android.accounts.AccountManager;
@@ -24,20 +25,18 @@
 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.app.admin.DevicePolicyManager;
 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.ConditionVariable;
 import android.os.Handler;
-import android.os.RemoteException;
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.provider.Settings;
@@ -48,6 +47,10 @@
 import android.widget.TextView;
 
 import java.io.IOException;
+import java.util.concurrent.ExecutionException;
+
+import com.android.setupwizard.navigationbar.SetupWizardNavBar;
+import com.android.setupwizard.navigationbar.SetupWizardNavBar.NavigationBarListener;
 
 /**
  * Profile owner provisioning sets up a separate profile on a device whose primary user is already
@@ -62,29 +65,37 @@
  * {@link ProfileOwnerProvisioningService}, which runs through the setup steps in an
  * async task.
  */
-public class ProfileOwnerProvisioningActivity extends Activity {
+public class ProfileOwnerProvisioningActivity extends Activity implements NavigationBarListener {
     protected static final String ACTION_CANCEL_PROVISIONING =
             "com.android.managedprovisioning.CANCEL_PROVISIONING";
 
     private BroadcastReceiver mServiceMessageReceiver;
 
+    private static final int BROADCAST_TIMEOUT = 2 * 60 * 1000;
+
     // 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.
+    // Cancelling not possible anymore, provisioning already finished successfully.
     private static final int CANCELSTATUS_FINALIZING = 4;
 
     private static final String KEY_CANCELSTATUS= "cancelstatus";
     private static final String KEY_PENDING_INTENT = "pending_intent";
 
+    // Hide default system navigation bar.
+    protected static final int IMMERSIVE_FLAGS = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
+            | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;
+
     private int mCancelStatus = CANCELSTATUS_PROVISIONING;
     private Intent mPendingProvisioningResult = null;
     private ProgressDialog mCancelProgressDialog = null;
     private AccountManager mAccountManager;
 
+    private Button mBackButton;
+
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -99,6 +110,8 @@
         final LayoutInflater inflater = getLayoutInflater();
         View contentView = inflater.inflate(R.layout.progress, null);
         setContentView(contentView);
+        TextView titleView = (TextView) findViewById(R.id.title);
+        if (titleView != null) titleView.setText(getString(R.string.setup_work_profile));
         TextView textView = (TextView) findViewById(R.id.prog_text);
         if (textView != null) textView.setText(getString(R.string.setting_up_workspace));
 
@@ -159,14 +172,7 @@
             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);
+            onProvisioningSuccess();
         } else if (ProfileOwnerProvisioningService.ACTION_PROVISIONING_ERROR.equals(action)) {
             if (mCancelStatus == CANCELSTATUS_CANCELLING){
                 return;
@@ -175,27 +181,33 @@
                     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)) {
+            // Note that this will be reported as a canceled action
+            mCancelStatus = CANCELSTATUS_FINALIZING;
+        } else 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();
+            onProvisioningAborted();
         }
     }
 
+    private void onProvisioningAborted() {
+        ProfileOwnerProvisioningActivity.this.setResult(Activity.RESULT_CANCELED);
+        stopService(new Intent(ProfileOwnerProvisioningActivity.this,
+                        ProfileOwnerProvisioningService.class));
+        ProfileOwnerProvisioningActivity.this.finish();
+    }
+
     @Override
     public void onBackPressed() {
-        if (mCancelStatus == CANCELSTATUS_PROVISIONING) {
+        if (mCancelStatus != CANCELSTATUS_PROVISIONING) {
+            mCancelStatus = CANCELSTATUS_CONFIRMING;
             showCancelProvisioningDialog();
         }
     }
 
     private void showCancelProvisioningDialog() {
-        mCancelStatus = CANCELSTATUS_CONFIRMING;
         AlertDialog alertDialog = new AlertDialog.Builder(this)
                         .setCancelable(false)
                         .setTitle(R.string.profile_owner_cancel_title)
@@ -219,6 +231,7 @@
                         })
                         .create();
         alertDialog.show();
+        alertDialog.getWindow().getDecorView().setSystemUiVisibility(IMMERSIVE_FLAGS);
     }
 
     protected void showCancelProgressDialog() {
@@ -227,6 +240,7 @@
         mCancelProgressDialog.setCancelable(false);
         mCancelProgressDialog.setCanceledOnTouchOutside(false);
         mCancelProgressDialog.show();
+        mCancelProgressDialog.getWindow().getDecorView().setSystemUiVisibility(IMMERSIVE_FLAGS);
     }
 
     public void error(int resourceId, String logText) {
@@ -238,12 +252,18 @@
                 .setPositiveButton(R.string.device_owner_error_ok, new DialogInterface.OnClickListener() {
                         @Override
                         public void onClick(DialogInterface dialog,int id) {
-                            confirmCancel();
+                            onProvisioningAborted();
                         }
-                    }).show();
+                    })
+                .show()
+                .getWindow().getDecorView().setSystemUiVisibility(IMMERSIVE_FLAGS);
     }
 
     private void confirmCancel() {
+        if (mCancelStatus != CANCELSTATUS_CONFIRMING) {
+            // Can only cancel if provisioning hasn't finished at this point.
+            return;
+        }
         mCancelStatus = CANCELSTATUS_CANCELLING;
         Intent intent = new Intent(ProfileOwnerProvisioningActivity.this,
                 ProfileOwnerProvisioningService.class);
@@ -253,64 +273,14 @@
     }
 
     /**
-     * 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.
+     * Finish activity and stop service.
      */
-    private void onProvisioningSuccess(Intent pendingSuccessIntent, int userId, int serialNumber) {
+    private void onProvisioningSuccess() {
+        mBackButton.setVisibility(View.INVISIBLE);
         mCancelStatus = CANCELSTATUS_FINALIZING;
-        Settings.Secure.putIntForUser(getContentResolver(), Settings.Secure.USER_SETUP_COMPLETE,
-                1 /* true- > setup complete */, userId);
+        setResult(Activity.RESULT_OK);
 
-        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);
-        }
+        finish();
     }
 
     @Override
@@ -324,5 +294,20 @@
         LocalBroadcastManager.getInstance(this).unregisterReceiver(mServiceMessageReceiver);
         super.onPause();
     }
+
+    @Override
+    public void onNavigationBarCreated(SetupWizardNavBar bar) {
+        bar.getNextButton().setVisibility(View.INVISIBLE);
+        mBackButton = bar.getBackButton();
+    }
+
+    @Override
+    public void onNavigateBack() {
+        onBackPressed();
+    }
+
+    @Override
+    public void onNavigateNext() {
+    }
 }
 
diff --git a/src/com/android/managedprovisioning/ProfileOwnerProvisioningService.java b/src/com/android/managedprovisioning/ProfileOwnerProvisioningService.java
index 44a6048..ecd32f3 100644
--- a/src/com/android/managedprovisioning/ProfileOwnerProvisioningService.java
+++ b/src/com/android/managedprovisioning/ProfileOwnerProvisioningService.java
@@ -19,11 +19,12 @@
 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.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME;
 import static android.Manifest.permission.BIND_DEVICE_ADMIN;
 
 import android.accounts.Account;
 import android.accounts.AccountManager;
+import android.accounts.AccountManagerFuture;
 import android.accounts.AuthenticatorException;
 import android.accounts.OperationCanceledException;
 import android.app.Activity;
@@ -42,20 +43,23 @@
 import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.pm.UserInfo;
 import android.os.AsyncTask;
+import android.os.Bundle;
 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.provider.Settings;
 import android.support.v4.content.LocalBroadcastManager;
 import android.text.TextUtils;
+import android.view.View;
 
 import com.android.managedprovisioning.CrossProfileIntentFiltersHelper;
 import com.android.managedprovisioning.task.DeleteNonRequiredAppsTask;
+import com.android.managedprovisioning.task.DisableBluetoothSharingTask;
+import com.android.managedprovisioning.task.DisableInstallShortcutListenersTask;
 
 import java.io.IOException;
 
@@ -66,14 +70,6 @@
  * 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";
@@ -83,6 +79,21 @@
             "com.android.managedprovisioning.cancelled";
     public static final String EXTRA_LOG_MESSAGE_KEY = "ProvisioingErrorLogMessage";
 
+    // Status flags for the provisioning process.
+    /** Provisioning not started. */
+    private static final int STATUS_UNKNOWN = 0;
+    /** Provisioning started, no errors or cancellation requested received. */
+    private static final int STATUS_STARTED = 1;
+    /** Provisioning in progress, but user has requested cancellation. */
+    private static final int STATUS_CANCELLING = 2;
+    // Final possible states for the provisioning process.
+    /** Provisioning completed successfully. */
+    private static final int STATUS_DONE = 3;
+    /** Provisioning failed and cleanup complete. */
+    private static final int STATUS_ERROR = 4;
+    /** Provisioning cancelled and cleanup complete. */
+    private static final int STATUS_CANCELLED = 5;
+
     private String mMdmPackageName;
     private ComponentName mActiveAdminComponentName;
 
@@ -96,20 +107,40 @@
     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;
+    // Current status of the provisioning process.
+    private int mProvisioningStatus = STATUS_UNKNOWN;
 
     private class RunnerTask extends AsyncTask<Intent, Void, Void> {
         @Override
         protected Void doInBackground(Intent ... intents) {
-            initialize(intents[0]);
-            startManagedProfileProvisioning();
+            // Atomically move to STATUS_STARTED at most once.
+            synchronized (ProfileOwnerProvisioningService.this) {
+                if (mProvisioningStatus == STATUS_UNKNOWN) {
+                    mProvisioningStatus = STATUS_STARTED;
+                } else {
+                    // Process already started, don't start again.
+                    return null;
+                }
+            }
+
+            try {
+                initialize(intents[0]);
+                startManagedProfileProvisioning();
+            } catch (ProvisioningException e) {
+                // Handle internal errors.
+                error(e.getMessage(), e);
+                finish();
+            } catch (Exception e) {
+                // General catch-all to ensure process cleans up in all cases.
+                error("Failed to initialize managed profile, aborting.", e);
+                finish();
+            }
+
             return null;
         }
     }
@@ -148,28 +179,62 @@
     }
 
     private void reportStatus() {
-        if (mLastErrorMessage != null) {
-            sendError();
-        }
         synchronized (this) {
-            if (mDone) {
-                notifyActivityOfSuccess();
+            switch (mProvisioningStatus) {
+                case STATUS_DONE:
+                    notifyActivityOfSuccess();
+                    break;
+                case STATUS_CANCELLED:
+                    notifyActivityCancelled();
+                    break;
+                case STATUS_ERROR:
+                    notifyActivityError();
+                    break;
+                case STATUS_UNKNOWN:
+                case STATUS_STARTED:
+                case STATUS_CANCELLING:
+                    // Don't notify UI of status when just-started/in-progress.
+                    break;
             }
         }
     }
 
     private void cancelProvisioning() {
         synchronized (this) {
-            if (!mDone) {
-                mCancelInFuture = true;
-                return;
+            switch (mProvisioningStatus) {
+                case STATUS_DONE:
+                    // Process completed, we should honor user request to cancel
+                    // though.
+                    mProvisioningStatus = STATUS_CANCELLING;
+                    cleanupUserProfile();
+                    mProvisioningStatus = STATUS_CANCELLED;
+                    reportStatus();
+                    break;
+                case STATUS_UNKNOWN:
+                    // Process hasn't started, move straight to cancelled state.
+                    mProvisioningStatus = STATUS_CANCELLED;
+                    reportStatus();
+                    break;
+                case STATUS_STARTED:
+                    // Process is mid-flow, flag up that the user has requested
+                    // cancellation.
+                    mProvisioningStatus = STATUS_CANCELLING;
+                    break;
+                case STATUS_CANCELLING:
+                    // Cancellation already being processed.
+                    break;
+                case STATUS_CANCELLED:
+                case STATUS_ERROR:
+                    // Process already completed, nothing left to cancel.
+                    break;
             }
-            cleanup();
         }
     }
 
     private void initialize(Intent intent) {
-        mMdmPackageName = intent.getStringExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME);
+        mActiveAdminComponentName = (ComponentName) intent.getParcelableExtra(
+                EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME);
+        mMdmPackageName = mActiveAdminComponentName.getPackageName();
         mAccountToMigrate = (Account) intent.getParcelableExtra(
                 EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE);
         if (mAccountToMigrate != null) {
@@ -179,61 +244,61 @@
         // 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() {
+    private void startManagedProfileProvisioning() throws ProvisioningException {
 
         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,
+
+            final DeleteNonRequiredAppsTask deleteNonRequiredAppsTask;
+            final DisableInstallShortcutListenersTask disableInstallShortcutListenersTask;
+            final DisableBluetoothSharingTask disableBluetoothSharingTask;
+
+            disableInstallShortcutListenersTask = new DisableInstallShortcutListenersTask(this,
+                    mManagedProfileUserInfo.id);
+            disableBluetoothSharingTask = new DisableBluetoothSharingTask(
+                    mManagedProfileUserInfo.id);
+            deleteNonRequiredAppsTask = new DeleteNonRequiredAppsTask(this,
+                    mMdmPackageName, 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 */,
+                    R.array.packages_to_delete_new_managed_profile,
+                    true /* creating new profile */, mManagedProfileUserInfo.id,
+                    false /* delete non-required system apps */,
                     new DeleteNonRequiredAppsTask.Callback() {
 
                         @Override
                         public void onSuccess() {
-                            setUpProfileAndFinish();
+                            // Need to explicitly handle exceptions here, as
+                            // onError() is not invoked for failures in
+                            // onSuccess().
+                            try {
+                                disableBluetoothSharingTask.run();
+                                disableInstallShortcutListenersTask.run();
+                                setUpProfile();
+                            } catch (ProvisioningException e) {
+                                error(e.getMessage(), e);
+                            } catch (Exception e) {
+                                error("Provisioning failed", e);
+                            }
+                            finish();
                         }
 
                         @Override
                         public void onError() {
-                            error("Delete non required apps task failed.");
+                            // Raise an error with a tracing exception attached.
+                            error("Delete non required apps task failed.", new Exception());
+                            finish();
                         }
-                    }).run();
+                    });
+
+            deleteNonRequiredAppsTask.run();
         }
     }
 
@@ -241,27 +306,67 @@
      * 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() {
+    private void setUpProfile() throws ProvisioningException {
         installMdmOnManagedProfile();
         setMdmAsActiveAdmin();
         setMdmAsManagedProfileOwner();
+        setDefaultUserRestrictions();
         CrossProfileIntentFiltersHelper.setFilters(
                 getPackageManager(), getUserId(), mManagedProfileUserInfo.id);
 
         if (!startManagedProfile(mManagedProfileUserInfo.id)) {
-            error("Could not start user in background");
-            return;
+            throw raiseError("Could not start user in background");
         }
         copyAccount(mAccountToMigrate);
+    }
+
+    /**
+     * Notify the calling activity of our final status, perform any cleanup if
+     * the process didn't succeed.
+     */
+    private void finish() {
+        ProvisionLogger.logi("Finishing provisioing process, status: "
+                             + mProvisioningStatus);
+        // Reached the end of the provisioning process, take appropriate action
+        // based on current mProvisioningStatus.
         synchronized (this) {
-            mDone = true;
-            if (mCancelInFuture) {
-                cleanup();
-            } else {
-                // Notify activity of success.
-                notifyActivityOfSuccess();
+            switch (mProvisioningStatus) {
+                case STATUS_STARTED:
+                    // Provisioning process completed normally.
+                    notifyMdmAndCleanup();
+                    mProvisioningStatus = STATUS_DONE;
+                    break;
+                case STATUS_UNKNOWN:
+                    // No idea how we could end up in finish() in this state,
+                    // but for safety treat it as an error and fall-through to
+                    // STATUS_ERROR.
+                    mLastErrorMessage = "finish() invoked in STATUS_UNKNOWN";
+                    mProvisioningStatus = STATUS_ERROR;
+                    break;
+                case STATUS_ERROR:
+                    // Process errored out, cleanup partially created managed
+                    // profile.
+                    cleanupUserProfile();
+                    break;
+                case STATUS_CANCELLING:
+                    // User requested cancellation during processing, remove
+                    // the successfully created profile.
+                    cleanupUserProfile();
+                    mProvisioningStatus = STATUS_CANCELLED;
+                    break;
+                case STATUS_CANCELLED:
+                case STATUS_DONE:
+                    // Shouldn't be possible to already be in this state?!?
+                    ProvisionLogger.logw("finish() invoked multiple times?");
+                    break;
             }
         }
+
+        ProvisionLogger.logi("Finished provisioing process, final status: "
+                + mProvisioningStatus);
+
+        // Notify UI activity of final status reached.
+        reportStatus();
     }
 
     /**
@@ -282,6 +387,50 @@
     }
 
     private void notifyActivityOfSuccess() {
+        Intent successIntent = new Intent(ACTION_PROVISIONING_SUCCESS);
+        LocalBroadcastManager.getInstance(ProfileOwnerProvisioningService.this)
+                .sendBroadcast(successIntent);
+    }
+
+    /**
+     * 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 notifyMdmAndCleanup() {
+
+        Settings.Secure.putIntForUser(getContentResolver(), Settings.Secure.USER_SETUP_COMPLETE,
+                1 /* true- > setup complete */, mManagedProfileUserInfo.id);
+
+        UserHandle userHandle = new UserHandle(mManagedProfileUserInfo.id);
+
+        // 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");
+
+                final Intent primaryProfileSuccessIntent = new Intent(
+                        DevicePolicyManager.ACTION_MANAGED_PROFILE_PROVISIONED);
+                primaryProfileSuccessIntent.setPackage(mMdmPackageName);
+                primaryProfileSuccessIntent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES |
+                        Intent.FLAG_RECEIVER_FOREGROUND);
+                // Now cleanup the primary profile if necessary
+                if (mAccountToMigrate != null) {
+                    primaryProfileSuccessIntent.putExtra(
+                            DevicePolicyManager.EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE,
+                            mAccountToMigrate);
+                    finishAccountMigration(primaryProfileSuccessIntent);
+                    // Note that we currently do not check if account migration worked
+                } else {
+                    sendBroadcast(primaryProfileSuccessIntent);
+                    stopSelf();
+                }
+            }
+        };
+
         // Compose the intent that will be fired by the activity.
         Intent completeIntent = new Intent(ACTION_PROFILE_PROVISIONING_COMPLETE);
         completeIntent.setComponent(mActiveAdminComponentName);
@@ -291,14 +440,44 @@
             completeIntent.putExtra(EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE,
                     mAdminExtrasBundle);
         }
+        sendOrderedBroadcastAsUser(completeIntent, userHandle, null,
+                mdmReceivedSuccessReceiver, null, Activity.RESULT_OK, null, null);
+        ProvisionLogger.logd("Provisioning complete broadcast has been sent to user "
+                + userHandle.getIdentifier());
+    }
 
-        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 finishAccountMigration(final Intent primaryProfileSuccessIntent) {
+        new AsyncTask<Void, Void, Void>() {
+            @Override
+            protected Void doInBackground(Void... params) {
+                removeAccount(mAccountToMigrate);
+                sendBroadcast(primaryProfileSuccessIntent);
+                stopSelf();
+                return null;
+            }
+        }.execute();
+    }
+
+    private void removeAccount(Account account) {
+        try {
+            AccountManagerFuture<Bundle> bundle = mAccountManager.removeAccount(account,
+                   null, null /* callback */, null /* handler */);
+            // Block to get the result of the removeAccount operation
+            if (bundle.getResult().getBoolean(AccountManager.KEY_BOOLEAN_RESULT, false)) {
+                ProvisionLogger.logw("Account removed from the primary user.");
+            } else {
+                Intent removeIntent = (Intent) bundle.getResult().getParcelable(
+                        AccountManager.KEY_INTENT);
+                if (removeIntent != null) {
+                    ProvisionLogger.logi("Starting activity to remove user");
+                    startActivity(removeIntent);
+                } 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);
+        }
     }
 
     private void copyAccount(Account account) {
@@ -321,7 +500,7 @@
         }
     }
 
-    private void createProfile(String profileName) {
+    private void createProfile(String profileName) throws ProvisioningException {
 
         ProvisionLogger.logd("Creating managed profile with name " + profileName);
 
@@ -331,14 +510,14 @@
 
         if (mManagedProfileUserInfo == null) {
             if (UserManager.getMaxSupportedUsers() == mUserManager.getUserCount()) {
-                error("Profile creation failed, maximum number of users reached.");
+                throw raiseError("Profile creation failed, maximum number of users reached.");
             } else {
-                error("Couldn't create profile. Reason unknown.");
+                throw raiseError("Couldn't create profile. Reason unknown.");
             }
         }
     }
 
-    private void installMdmOnManagedProfile() {
+    private void installMdmOnManagedProfile() throws ProvisioningException {
         ProvisionLogger.logd("Installing mobile device management app " + mMdmPackageName +
               " on managed profile");
 
@@ -350,14 +529,14 @@
                   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 "
+                  throw raiseError("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 "
+                  throw raiseError("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 "
+                  throw raiseError("Could not install mobile device management app on managed "
                           + "profile. Unknown status: " + status);
             }
         } catch (RemoteException neverThrown) {
@@ -366,7 +545,7 @@
         }
     }
 
-    private void setMdmAsManagedProfileOwner() {
+    private void setMdmAsManagedProfileOwner() throws ProvisioningException {
         ProvisionLogger.logd("Setting package " + mMdmPackageName + " as managed profile owner.");
 
         DevicePolicyManager dpm =
@@ -374,7 +553,7 @@
         if (!dpm.setProfileOwner(mActiveAdminComponentName, mMdmPackageName,
                 mManagedProfileUserInfo.id)) {
             ProvisionLogger.logw("Could not set profile owner.");
-            error("Could not set profile owner.");
+            throw raiseError("Could not set profile owner.");
         }
     }
 
@@ -387,33 +566,76 @@
                 mManagedProfileUserInfo.id);
     }
 
-    private void error(String dialogMessage) {
-        mLastErrorMessage = dialogMessage;
-        sendError();
+    private ProvisioningException raiseError(String message) throws ProvisioningException {
+        throw new ProvisioningException(message);
     }
 
-    private void sendError() {
+    /**
+     * Record the fact that an error occurred, change mProvisioningStatus to
+     * reflect the fact the provisioning process failed
+     */
+    private void error(String dialogMessage, Exception e) {
+        synchronized (this) {
+            // Only case where an error condition should be notified is if we
+            // are in the normal flow for provisioning. If the process has been
+            // cancelled or already completed, then the fact there is an error
+            // is almost irrelevant.
+            if (mProvisioningStatus == STATUS_STARTED) {
+                mProvisioningStatus = STATUS_ERROR;
+                mLastErrorMessage = dialogMessage;
+
+                ProvisionLogger.logw(
+                        "Error occured during provisioning process: "
+                        + dialogMessage,
+                        e);
+            } else {
+                ProvisionLogger.logw(
+                        "Unexpected error occured in status ["
+                        + mProvisioningStatus + "]: " + dialogMessage,
+                        e);
+            }
+        }
+    }
+
+    private void setDefaultUserRestrictions() {
+        mUserManager.setUserRestriction(UserManager.DISALLOW_WALLPAPER, true,
+                mManagedProfileUserInfo.getUserHandle());
+    }
+
+    private void notifyActivityError() {
         Intent intent = new Intent(ACTION_PROVISIONING_ERROR);
         intent.putExtra(EXTRA_LOG_MESSAGE_KEY, mLastErrorMessage);
         LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
     }
 
+    private void notifyActivityCancelled() {
+        Intent cancelIntent = new Intent(ACTION_PROVISIONING_CANCELLED);
+        LocalBroadcastManager.getInstance(this).sendBroadcast(cancelIntent);
+    }
+
     /**
-     * Performs cleanup of the device on failure.
+     * Performs cleanup of any created user-profile on failure/cancellation.
      */
-    private void cleanup() {
-        // The only cleanup we need to do is remove the profile we created.
+    private void cleanupUserProfile() {
         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;
     }
+
+    /**
+     * Internal exception to allow provisioning process to terminal quickly and
+     * cleanly on first error, rather than continuing to process despite errors
+     * occurring.
+     */
+    private static class ProvisioningException extends Exception {
+        public ProvisioningException(String detailMessage) {
+            super(detailMessage);
+        }
+    }
 }
diff --git a/src/com/android/managedprovisioning/ProvisioningParams.java b/src/com/android/managedprovisioning/ProvisioningParams.java
index ab919d2..57ae262 100644
--- a/src/com/android/managedprovisioning/ProvisioningParams.java
+++ b/src/com/android/managedprovisioning/ProvisioningParams.java
@@ -16,13 +16,13 @@
 
 package com.android.managedprovisioning;
 
+import android.content.Context;
+import android.content.ComponentName;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.os.PersistableBundle;
 import android.util.Base64;
 import java.util.Locale;
-
-
 /**
  * Provisioning Parameters for DeviceOwner Provisioning
  */
@@ -31,6 +31,7 @@
     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 static final boolean DEFAULT_EXTRA_PROVISIONING_SKIP_ENCRYPTION = false;
 
     public String mTimeZone;
     public long mLocalTime = DEFAULT_LOCAL_TIME;
@@ -45,17 +46,46 @@
     public String mWifiProxyBypassHosts;
     public String mWifiPacUrl;
 
+    // At least one one of mDeviceAdminPackageName and mDeviceAdminComponentName should be non-null
     public String mDeviceAdminPackageName; // Package name of the device admin package.
+    public ComponentName mDeviceAdminComponentName;
+    public ComponentName mDeviceInitializerComponentName;
+
+    private ComponentName mInferedDeviceAdminComponentName;
 
     public String mDeviceAdminPackageDownloadLocation; // Url of the device admin .apk
     public String mDeviceAdminPackageDownloadCookieHeader; // Cookie header for http request
     public byte[] mDeviceAdminPackageChecksum = new byte[0]; // SHA-1 sum of the .apk file.
 
+    public String mDeviceInitializerPackageDownloadLocation; // Url of the device initializer .apk.
+    // Cookie header for initializer http request.
+    public String mDeviceInitializerPackageDownloadCookieHeader;
+    // SHA-1 sum of the initializer .apk file.
+    public byte[] mDeviceInitializerPackageChecksum = new byte[0];
+
     public PersistableBundle mAdminExtrasBundle;
 
     public boolean mStartedByNfc; // True iff provisioning flow was started by Nfc bump.
 
     public boolean mLeaveAllSystemAppsEnabled;
+    public boolean mSkipEncryption;
+
+    public String inferDeviceAdminPackageName() {
+        if (mDeviceAdminComponentName != null) {
+            return mDeviceAdminComponentName.getPackageName();
+        }
+        return mDeviceAdminPackageName;
+    }
+
+    // This should not be called if the app has not been installed yet.
+    ComponentName inferDeviceAdminComponentName(Context c)
+            throws Utils.IllegalProvisioningArgumentException {
+        if (mInferedDeviceAdminComponentName == null) {
+            mInferedDeviceAdminComponentName = Utils.findDeviceAdmin(
+                    mDeviceAdminPackageName, mDeviceAdminComponentName, c);
+        }
+        return mInferedDeviceAdminComponentName;
+    }
 
     public String getLocaleAsString() {
         if (mLocale != null) {
@@ -70,6 +100,11 @@
                 Base64.URL_SAFE | Base64.NO_PADDING | Base64.NO_WRAP);
     }
 
+    public String getDeviceInitializerPackageChecksumAsString() {
+        return Base64.encodeToString(mDeviceInitializerPackageChecksum,
+                Base64.URL_SAFE | Base64.NO_PADDING | Base64.NO_WRAP);
+    }
+
     @Override
     public int describeContents() {
         return 0;
@@ -87,14 +122,22 @@
         out.writeString(mWifiProxyHost);
         out.writeInt(mWifiProxyPort);
         out.writeString(mWifiProxyBypassHosts);
+        out.writeString(mWifiPacUrl);
         out.writeString(mDeviceAdminPackageName);
+        out.writeParcelable(mDeviceAdminComponentName, 0 /* default */);
         out.writeString(mDeviceAdminPackageDownloadLocation);
         out.writeString(mDeviceAdminPackageDownloadCookieHeader);
         out.writeInt(mDeviceAdminPackageChecksum.length);
         out.writeByteArray(mDeviceAdminPackageChecksum);
+        out.writeParcelable(mDeviceInitializerComponentName, 0 /* default */);
+        out.writeString(mDeviceInitializerPackageDownloadLocation);
+        out.writeString(mDeviceInitializerPackageDownloadCookieHeader);
+        out.writeInt(mDeviceInitializerPackageChecksum.length);
+        out.writeByteArray(mDeviceInitializerPackageChecksum);
         out.writeParcelable(mAdminExtrasBundle, 0 /* default */);
         out.writeInt(mStartedByNfc ? 1 : 0);
         out.writeInt(mLeaveAllSystemAppsEnabled ? 1 : 0);
+        out.writeInt(mSkipEncryption ? 1 : 0);
     }
 
     public static final Parcelable.Creator<ProvisioningParams> CREATOR
@@ -112,15 +155,26 @@
             params.mWifiProxyHost = in.readString();
             params.mWifiProxyPort = in.readInt();
             params.mWifiProxyBypassHosts = in.readString();
+            params.mWifiPacUrl = in.readString();
             params.mDeviceAdminPackageName = in.readString();
+            params.mDeviceAdminComponentName = (ComponentName)
+                    in.readParcelable(null /* use default classloader */);
             params.mDeviceAdminPackageDownloadLocation = in.readString();
             params.mDeviceAdminPackageDownloadCookieHeader = in.readString();
             int checksumLength = in.readInt();
             params.mDeviceAdminPackageChecksum = new byte[checksumLength];
             in.readByteArray(params.mDeviceAdminPackageChecksum);
+            params.mDeviceInitializerComponentName = (ComponentName)
+                    in.readParcelable(null /* use default classloader */);
+            params.mDeviceInitializerPackageDownloadLocation = in.readString();
+            params.mDeviceInitializerPackageDownloadCookieHeader = in.readString();
+            checksumLength = in.readInt();
+            params.mDeviceInitializerPackageChecksum = new byte[checksumLength];
+            in.readByteArray(params.mDeviceInitializerPackageChecksum);
             params.mAdminExtrasBundle = in.readParcelable(null /* use default classloader */);
             params.mStartedByNfc = in.readInt() == 1;
             params.mLeaveAllSystemAppsEnabled = in.readInt() == 1;
+            params.mSkipEncryption = in.readInt() == 1;
             return params;
         }
 
diff --git a/src/com/android/managedprovisioning/UserConsentDialog.java b/src/com/android/managedprovisioning/UserConsentDialog.java
index 47b390b..5a982cf 100644
--- a/src/com/android/managedprovisioning/UserConsentDialog.java
+++ b/src/com/android/managedprovisioning/UserConsentDialog.java
@@ -16,7 +16,6 @@
 
 package com.android.managedprovisioning;
 
-import android.app.Activity;
 import android.app.Dialog;
 import android.app.DialogFragment;
 import android.content.DialogInterface;
@@ -25,8 +24,6 @@
 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;
 
@@ -117,6 +114,9 @@
                 }
             });
 
+        dialog.getWindow().getDecorView().setSystemUiVisibility(
+                View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY |
+                View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
         return dialog;
     }
 
diff --git a/src/com/android/managedprovisioning/Utils.java b/src/com/android/managedprovisioning/Utils.java
new file mode 100644
index 0000000..f69d64d
--- /dev/null
+++ b/src/com/android/managedprovisioning/Utils.java
@@ -0,0 +1,218 @@
+/*
+ * 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.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.IPackageManager;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.PackageManager.NameNotFoundException;
+import android.graphics.drawable.Drawable;
+import android.os.RemoteException;
+import android.os.ServiceManager;
+import android.text.TextUtils;
+
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME;
+
+/**
+ * Class containing various auxiliary methods.
+ */
+public class Utils {
+    private Utils() {}
+
+    public static Set<String> getCurrentSystemApps(int userId) {
+        IPackageManager ipm = IPackageManager.Stub.asInterface(ServiceManager
+                .getService("package"));
+        Set<String> apps = new HashSet<String>();
+        List<ApplicationInfo> aInfos = null;
+        try {
+            aInfos = ipm.getInstalledApplications(
+                    PackageManager.GET_UNINSTALLED_PACKAGES, userId).getList();
+        } catch (RemoteException neverThrown) {
+            ProvisionLogger.loge("This should not happen.", neverThrown);
+        }
+        for (ApplicationInfo aInfo : aInfos) {
+            if ((aInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
+                apps.add(aInfo.packageName);
+            }
+        }
+        return apps;
+    }
+
+    public static void disableComponent(ComponentName toDisable, int userId) {
+        try {
+            IPackageManager ipm = IPackageManager.Stub.asInterface(ServiceManager
+                .getService("package"));
+
+            ipm.setComponentEnabledSetting(toDisable,
+                    PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP,
+                    userId);
+        } catch (RemoteException neverThrown) {
+            ProvisionLogger.loge("This should not happen.", neverThrown);
+        } catch (Exception e) {
+            ProvisionLogger.logw("Component not found, not disabling it: "
+                + toDisable.toShortString());
+        }
+    }
+
+    public static ComponentName findDeviceAdminFromIntent(Intent intent, Context c)
+            throws IllegalProvisioningArgumentException {
+        ComponentName mdmComponentName = intent.getParcelableExtra(
+                EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME);
+        String mdmPackageName = intent.getStringExtra(
+                EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME);
+        return findDeviceAdmin(mdmPackageName, mdmComponentName, c);
+    }
+
+    /**
+     * Exception thrown when the provisioning has failed completely.
+     *
+     * We're using a custom exception to avoid catching subsequent exceptions that might be
+     * significant.
+     */
+    public static class IllegalProvisioningArgumentException extends Exception {
+        public IllegalProvisioningArgumentException(String message) {
+            super(message);
+        }
+
+        public IllegalProvisioningArgumentException(String message, Throwable t) {
+            super(message, t);
+        }
+    }
+
+    /**
+     * Check the validity of the admin component name supplied, or try to infer this componentName
+     * from the package.
+     *
+     * We are supporting lookup by package name for legacy reasons.
+     *
+     * If mdmComponentName is supplied (not null):
+     * mdmPackageName is ignored.
+     * Check that the package of mdmComponentName is installed, that mdmComponentName is a
+     * receiver in this package, and return it.
+     *
+     * Otherwise:
+     * mdmPackageName must be supplied (not null).
+     * Check that this package is installed, try to infer a potential device admin in this package,
+     * and return it.
+     */
+    public static ComponentName findDeviceAdmin(String mdmPackageName,
+            ComponentName mdmComponentName, Context c) throws IllegalProvisioningArgumentException {
+        if (mdmComponentName != null) {
+            mdmPackageName = mdmComponentName.getPackageName();
+        }
+        if (mdmPackageName == null) {
+            throw new IllegalProvisioningArgumentException("Neither the package name nor the"
+                    + " component name of the admin are supplied");
+        }
+        PackageInfo pi;
+        try {
+            pi = c.getPackageManager().getPackageInfo(mdmPackageName,
+                    PackageManager.GET_RECEIVERS);
+        } catch (NameNotFoundException e) {
+            throw new IllegalProvisioningArgumentException("Mdm "+ mdmPackageName
+                    + " is not installed. ", e);
+        }
+        if (mdmComponentName != null) {
+            // If the component was specified in the intent: check that it is in the manifest.
+            checkAdminComponent(mdmComponentName, pi);
+            return mdmComponentName;
+        } else {
+            // Otherwise: try to find a potential device admin in the manifest.
+            return findDeviceAdminInPackage(mdmPackageName, pi);
+        }
+    }
+
+    private static void checkAdminComponent(ComponentName mdmComponentName, PackageInfo pi)
+            throws IllegalProvisioningArgumentException{
+        for (ActivityInfo ai : pi.receivers) {
+            if (mdmComponentName.getClassName().equals(ai.name)) {
+                return;
+            }
+        }
+        throw new IllegalProvisioningArgumentException("The component " + mdmComponentName
+                + " cannot be found");
+    }
+
+    private static ComponentName findDeviceAdminInPackage(String mdmPackageName, PackageInfo pi)
+            throws IllegalProvisioningArgumentException {
+        ComponentName mdmComponentName = null;
+        for (ActivityInfo ai : pi.receivers) {
+            if (!TextUtils.isEmpty(ai.permission) &&
+                    ai.permission.equals(android.Manifest.permission.BIND_DEVICE_ADMIN)) {
+                if (mdmComponentName != null) {
+                    throw new IllegalProvisioningArgumentException("There are several "
+                            + "device admins in " + mdmPackageName + " but no one in specified");
+                } else {
+                    mdmComponentName = new ComponentName(mdmPackageName, ai.name);
+                }
+            }
+        }
+        if (mdmComponentName == null) {
+            throw new IllegalProvisioningArgumentException("There are no device admins in"
+                    + mdmPackageName);
+        }
+        return mdmComponentName;
+    }
+
+    public static MdmPackageInfo getMdmPackageInfo(PackageManager pm, String packageName) {
+        if (packageName != null) {
+            try {
+                ApplicationInfo ai = pm.getApplicationInfo(packageName, /* default flags */ 0);
+                if (ai != null) {
+                    return new MdmPackageInfo(pm.getApplicationIcon(packageName),
+                            pm.getApplicationLabel(ai).toString());
+                }
+            } catch (PackageManager.NameNotFoundException e) {
+                // Package does not exist, ignore. Should never happen.
+                ProvisionLogger.loge("Package does not exist. Should never happen.");
+            }
+        }
+
+        return null;
+    }
+
+    /**
+     * Information relating to the currently installed MDM package manager.
+     */
+    public static final class MdmPackageInfo {
+        private final Drawable packageIcon;
+        private final String appLabel;
+
+        private MdmPackageInfo(Drawable packageIcon, String appLabel) {
+            this.packageIcon = packageIcon;
+            this.appLabel = appLabel;
+        }
+
+        public String getAppLabel() {
+            return appLabel;
+        }
+
+        public Drawable getPackageIcon() {
+            return packageIcon;
+        }
+    }
+}
diff --git a/src/com/android/managedprovisioning/WifiConfig.java b/src/com/android/managedprovisioning/WifiConfig.java
index b20bcba..fa36869 100644
--- a/src/com/android/managedprovisioning/WifiConfig.java
+++ b/src/com/android/managedprovisioning/WifiConfig.java
@@ -64,6 +64,7 @@
         wifiConf.SSID = ssid;
         wifiConf.status = WifiConfiguration.Status.ENABLED;
         wifiConf.hiddenSSID = hidden;
+        wifiConf.userApproved = WifiConfiguration.USER_APPROVED;
         switch (securityType) {
             case NONE:
                 wifiConf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
diff --git a/src/com/android/managedprovisioning/task/AddWifiNetworkTask.java b/src/com/android/managedprovisioning/task/AddWifiNetworkTask.java
index 4d8d89f..f5337f9 100644
--- a/src/com/android/managedprovisioning/task/AddWifiNetworkTask.java
+++ b/src/com/android/managedprovisioning/task/AddWifiNetworkTask.java
@@ -70,9 +70,6 @@
             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;
@@ -92,6 +89,10 @@
     }
 
     public void run() {
+        if (TextUtils.isEmpty(mSsid)) {
+            mCallback.onSuccess();
+            return;
+        }
         if (!enableWifi()) {
             ProvisionLogger.loge("Failed to enable wifi");
             mCallback.onError();
diff --git a/src/com/android/managedprovisioning/task/DeleteNonRequiredAppsTask.java b/src/com/android/managedprovisioning/task/DeleteNonRequiredAppsTask.java
index 924ff25..69d5b0c 100644
--- a/src/com/android/managedprovisioning/task/DeleteNonRequiredAppsTask.java
+++ b/src/com/android/managedprovisioning/task/DeleteNonRequiredAppsTask.java
@@ -34,6 +34,7 @@
 import com.android.internal.util.FastXmlSerializer;
 import com.android.managedprovisioning.ProvisionLogger;
 import com.android.managedprovisioning.R;
+import com.android.managedprovisioning.Utils;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -42,6 +43,7 @@
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
@@ -52,116 +54,99 @@
 import org.xmlpull.v1.XmlSerializer;
 
 /**
- * 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.
+ * Deletes all system apps with a launcher that are not in the required set of packages.
+ * Furthermore deletes all apps indicated as additional packages to delete.
+ *
+ * This task may be run when a profile (both for managed device and managed profile) is created.
+ * In that case the newProfile flag should be true.
+ *
+ * It should also be run after a system update with newProfile false, if
+ * {@link #shouldDeleteNonRequiredApps} returns true. Note that only newly installed system apps
+ * will be deleted.
  */
 public class DeleteNonRequiredAppsTask {
     private final Callback mCallback;
     private final Context mContext;
     private final IPackageManager mIpm;
-    private final String mMdmPackageName;
     private final PackageManager mPm;
-    private final int mReqAppsList;
-    private final int mVendorReqAppsList;
+    private final Set<String> mRequiredPackages;
+    private final Set<String> mAdditionalPackagesToDelete;
     private final int mUserId;
-    private final boolean mNewProfile; // If we are provisioning a new managed profile/device.
-    private final boolean mDisableInstallShortcutListenersAndTelecom;
+    private final boolean mNewProfile;
+    private final boolean mLeaveAllSystemAppsEnabled;
 
     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 newProfile,
-            boolean disableInstallShortcutListenersAndTelecom, Callback callback) {
+    public DeleteNonRequiredAppsTask(Context context, String mdmPackageName,
+            int requiredAppsList, int vendorRequiredAppsList, boolean newProfile, int userId,
+            boolean leaveAllSystemAppsEnabled, Callback callback) {
+        this(context,
+                getRequiredApps(context, requiredAppsList, vendorRequiredAppsList, mdmPackageName),
+                Collections.<String>emptySet(), newProfile, userId, leaveAllSystemAppsEnabled,
+                callback);
+    }
+
+    public DeleteNonRequiredAppsTask(Context context, String mdmPackageName,
+            int requiredAppsList, int vendorRequiredAppsList,
+            int additionalPackagesToDelete, boolean newProfile, int userId,
+            boolean leaveAllSystemAppsEnabled, Callback callback) {
+        this(context,
+                getRequiredApps(context, requiredAppsList, vendorRequiredAppsList, mdmPackageName),
+                getAppListAsSet(context, additionalPackagesToDelete), newProfile, userId,
+                leaveAllSystemAppsEnabled, callback);
+    }
+
+    public DeleteNonRequiredAppsTask(Context context,
+            Set<String> requiredPackages, Set<String> additionalPackagesToDelete,
+            boolean newProfile, int userId, boolean leaveAllSystemAppsEnabled, Callback callback) {
         mCallback = callback;
         mContext = context;
-        mMdmPackageName = mdmPackageName;
         mUserId = userId;
         mIpm = IPackageManager.Stub.asInterface(ServiceManager.getService("package"));
         mPm = context.getPackageManager();
-        mReqAppsList = requiredAppsList;
-        mVendorReqAppsList = vendorRequiredAppsList;
+        mRequiredPackages = requiredPackages;
+        mAdditionalPackagesToDelete = additionalPackagesToDelete;
         mNewProfile = newProfile;
-        mDisableInstallShortcutListenersAndTelecom = disableInstallShortcutListenersAndTelecom;
+        mLeaveAllSystemAppsEnabled = leaveAllSystemAppsEnabled;
     }
 
     public void run() {
-        if (mNewProfile) {
-            disableBluetoothSharing();
+        if (mLeaveAllSystemAppsEnabled) {
+            ProvisionLogger.logd("Not deleting non-required apps.");
+            mCallback.onSuccess();
+            return;
         }
-        deleteNonRequiredApps();
-    }
-
-    /**
-     * 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"));
-    }
-
-    private void deleteNonRequiredApps() {
         ProvisionLogger.logd("Deleting non required apps.");
 
         File systemAppsFile = getSystemAppsFile(mContext, mUserId);
         systemAppsFile.getParentFile().mkdirs(); // Creating the folder if it does not exist
 
-        Set<String> currentApps = getCurrentSystemApps();
+        Set<String> currentApps = Utils.getCurrentSystemApps(mUserId);
         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);
+                ProvisionLogger.loge("Could not find the system apps file " +
+                        systemAppsFile.getAbsolutePath());
                 mCallback.onError();
                 return;
             }
-
             previousApps = readSystemApps(systemAppsFile);
         }
+
         writeSystemApps(currentApps, systemAppsFile);
         Set<String> newApps = currentApps;
         newApps.removeAll(previousApps);
 
-        if (mDisableInstallShortcutListenersAndTelecom) {
-            Intent actionShortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
-            if (previousApps.isEmpty()) {
-                // Here, all the apps are in newApps.
-                // It is faster to do it this way than to go through all the apps one by one.
-                disableReceivers(actionShortcut);
-            } else {
-                // Here, all the apps are not in newApps. So we have to go through all the new
-                // apps one by one.
-                for (String newApp : newApps) {
-                    actionShortcut.setPackage(newApp);
-                    disableReceivers(actionShortcut);
-                }
-            }
-        }
         Set<String> packagesToDelete = newApps;
-        packagesToDelete.removeAll(getRequiredApps());
+        packagesToDelete.removeAll(mRequiredPackages);
         packagesToDelete.retainAll(getCurrentAppsWithLauncher());
-        // com.android.server.telecom should not handle CALL intents in the managed profile.
-        if (mDisableInstallShortcutListenersAndTelecom && mNewProfile) {
-            packagesToDelete.add("com.android.server.telecom");
-        }
+        packagesToDelete.addAll(mAdditionalPackagesToDelete);
         if (packagesToDelete.isEmpty()) {
             mCallback.onSuccess();
             return;
@@ -179,66 +164,19 @@
         }
     }
 
+    /**
+     * 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();
+    }
+
     static File getSystemAppsFile(Context context, int userId) {
         return new File(context.getFilesDir() + File.separator + "system_apps"
                 + File.separator + "user" + userId + ".xml");
     }
 
-    /**
-     * Disable all components that can handle the specified broadcast intent.
-     */
-    private void disableReceivers(Intent intent) {
-        List<ResolveInfo> receivers = mPm.queryBroadcastReceivers(intent, 0, mUserId);
-        for (ResolveInfo ri : receivers) {
-            // One of ri.activityInfo, ri.serviceInfo, ri.providerInfo is not null. Let's find which
-            // one.
-            ComponentInfo ci;
-            if (ri.activityInfo != null) {
-                ci = ri.activityInfo;
-            } else if (ri.serviceInfo != null) {
-                ci = ri.serviceInfo;
-            } else {
-                ci = ri.providerInfo;
-            }
-            disableComponent(new ComponentName(ci.packageName, ci.name));
-        }
-    }
-
-    private void disableComponent(ComponentName toDisable) {
-        try {
-            mIpm.setComponentEnabledSetting(toDisable,
-                    PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP,
-                    mUserId);
-        } catch (RemoteException neverThrown) {
-            ProvisionLogger.loge("This should not happen.", neverThrown);
-        } catch (Exception e) {
-            ProvisionLogger.logw("Component not found, not disabling it: "
-                + toDisable.toShortString());
-        }
-    }
-
-    /**
-     * Returns the set of package names of apps that are in the system image,
-     * whether they have been deleted or not.
-     */
-    private Set<String> getCurrentSystemApps() {
-        Set<String> apps = new HashSet<String>();
-        List<ApplicationInfo> aInfos = null;
-        try {
-            aInfos = mIpm.getInstalledApplications(
-                    PackageManager.GET_UNINSTALLED_PACKAGES, mUserId).getList();
-        } catch (RemoteException neverThrown) {
-            // Never thrown, as we are making local calls.
-            ProvisionLogger.loge("This should not happen.", neverThrown);
-        }
-        for (ApplicationInfo aInfo : aInfos) {
-            if ((aInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
-                apps.add(aInfo.packageName);
-            }
-        }
-        return apps;
-    }
-
     private Set<String> getCurrentAppsWithLauncher() {
         Intent launcherIntent = new Intent(Intent.ACTION_MAIN);
         launcherIntent.addCategory(Intent.CATEGORY_LAUNCHER);
@@ -305,15 +243,20 @@
         return result;
     }
 
-    protected Set<String> getRequiredApps() {
+    private static Set<String> getRequiredApps(Context context, int reqAppsList,
+            int vendorReqAppsList, String mdmPackageName) {
         HashSet<String> requiredApps = new HashSet<String> (Arrays.asList(
-                        mContext.getResources().getStringArray(mReqAppsList)));
+                        context.getResources().getStringArray(reqAppsList)));
         requiredApps.addAll(Arrays.asList(
-                        mContext.getResources().getStringArray(mVendorReqAppsList)));
-        requiredApps.add(mMdmPackageName);
+                        context.getResources().getStringArray(vendorReqAppsList)));
+        requiredApps.add(mdmPackageName);
         return requiredApps;
     }
 
+    private static Set<String> getAppListAsSet(Context context, int listId) {
+        return new HashSet<String>(Arrays.asList(context.getResources().getStringArray(listId)));
+    }
+
     /**
      * Runs the next task when all packages have been deleted or shuts down the activity if package
      * deletion fails.
@@ -331,6 +274,7 @@
                 ProvisionLogger.logw(
                         "Could not finish the provisioning: package deletion failed");
                 mCallback.onError();
+                return;
             }
             int currentPackageCount = mPackageCount.decrementAndGet();
             if (currentPackageCount == 0) {
diff --git a/src/com/android/managedprovisioning/task/DisableBluetoothSharingTask.java b/src/com/android/managedprovisioning/task/DisableBluetoothSharingTask.java
new file mode 100644
index 0000000..18ac7eb
--- /dev/null
+++ b/src/com/android/managedprovisioning/task/DisableBluetoothSharingTask.java
@@ -0,0 +1,39 @@
+/*
+ * 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.task;
+
+import android.content.ComponentName;
+
+import com.android.managedprovisioning.ProvisionLogger;
+import com.android.managedprovisioning.Utils;
+
+/**
+ * Disables Bluetooth sharing by disabling the BluetoothOppLauncherActivity.
+ */
+public class DisableBluetoothSharingTask {
+    private final int mUserId;
+
+    public DisableBluetoothSharingTask(int userId) {
+        mUserId = userId;
+    }
+
+    public void run() {
+        ProvisionLogger.logd("Disabling Bluetooth sharing.");
+        Utils.disableComponent(new ComponentName("com.android.bluetooth",
+                        "com.android.bluetooth.opp.BluetoothOppLauncherActivity"), mUserId);
+    }
+}
diff --git a/src/com/android/managedprovisioning/task/DisableInstallShortcutListenersTask.java b/src/com/android/managedprovisioning/task/DisableInstallShortcutListenersTask.java
new file mode 100644
index 0000000..b4cf3c7
--- /dev/null
+++ b/src/com/android/managedprovisioning/task/DisableInstallShortcutListenersTask.java
@@ -0,0 +1,74 @@
+/*
+ * 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.task;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ComponentInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+
+import com.android.managedprovisioning.ProvisionLogger;
+import com.android.managedprovisioning.Utils;
+
+import java.util.List;
+import java.util.Set;
+
+
+/**
+ * Disables all system app components that listen to ACTION_INSTALL_SHORTCUT.
+ */
+public class DisableInstallShortcutListenersTask {
+    private final PackageManager mPm;
+    private final int mUserId;
+
+    public DisableInstallShortcutListenersTask(Context context, int userId) {
+        mUserId = userId;
+        mPm = context.getPackageManager();
+    }
+
+    public void run() {
+        ProvisionLogger.logd("Disabling install shortcut listeners.");
+        Intent actionShortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
+        Set<String> systemApps = Utils.getCurrentSystemApps(mUserId);
+        for (String systemApp : systemApps) {
+            actionShortcut.setPackage(systemApp);
+            disableReceivers(actionShortcut);
+        }
+    }
+
+    /**
+     * Disable all components that can handle the specified broadcast intent.
+     */
+    private void disableReceivers(Intent intent) {
+        List<ResolveInfo> receivers = mPm.queryBroadcastReceivers(intent, 0, mUserId);
+        for (ResolveInfo ri : receivers) {
+            // One of ri.activityInfo, ri.serviceInfo, ri.providerInfo is not null. Let's find which
+            // one.
+            ComponentInfo ci;
+            if (ri.activityInfo != null) {
+                ci = ri.activityInfo;
+            } else if (ri.serviceInfo != null) {
+                ci = ri.serviceInfo;
+            } else {
+                ci = ri.providerInfo;
+            }
+            Utils.disableComponent(new ComponentName(ci.packageName, ci.name), mUserId);
+        }
+    }
+}
diff --git a/src/com/android/managedprovisioning/task/DownloadPackageTask.java b/src/com/android/managedprovisioning/task/DownloadPackageTask.java
index 8cbc1ca..f877d50 100644
--- a/src/com/android/managedprovisioning/task/DownloadPackageTask.java
+++ b/src/com/android/managedprovisioning/task/DownloadPackageTask.java
@@ -31,6 +31,7 @@
 import android.util.Base64;
 
 import com.android.managedprovisioning.ProvisionLogger;
+import com.android.managedprovisioning.ProvisioningParams;
 
 import java.io.InputStream;
 import java.io.IOException;
@@ -38,80 +39,106 @@
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
 import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
 
 /**
- * Downloads a given file and checks whether its hash matches a given hash to verify that the
- * intended file was downloaded.
+ * Downloads the device admin and the device initializer if download locations were provided for
+ * them in the provisioning parameters. Also checks that each file's hash matches a given hash to
+ * verify that the downloaded files are the ones that are expected.
  */
 public class DownloadPackageTask {
     public static final int ERROR_HASH_MISMATCH = 0;
     public static final int ERROR_DOWNLOAD_FAILED = 1;
     public static final int ERROR_OTHER = 2;
 
+    public static final String DEVICE_OWNER = "deviceOwner";
+    public static final String INITIALIZER = "initializer";
+
     private static final String HASH_TYPE = "SHA-1";
 
     private final Context mContext;
-    private final String mDownloadLocationFrom;
     private final Callback mCallback;
-    private final byte[] mHash;
-    private final String mHttpCookieHeader;
-
-    private boolean mDoneDownloading;
-    private String mDownloadLocationTo;
-    private long mDownloadId;
     private BroadcastReceiver mReceiver;
+    private final DownloadManager mDlm;
 
-    public DownloadPackageTask (Context context, String downloadLocation, byte[] hash,
-            String httpCookieHeader, Callback callback) {
+    private Set<DownloadInfo> mDownloads;
+
+    public DownloadPackageTask (Context context, ProvisioningParams params, Callback callback) {
         mCallback = callback;
         mContext = context;
-        mDownloadLocationFrom = downloadLocation;
-        mHash = hash;
-        mHttpCookieHeader = httpCookieHeader;
-        mDoneDownloading = false;
-    }
+        mDlm = (DownloadManager) mContext.getSystemService(Context.DOWNLOAD_SERVICE);
 
-    public boolean downloadLocationWasProvided() {
-        return !TextUtils.isEmpty(mDownloadLocationFrom);
+        mDownloads = new HashSet<DownloadInfo>();
+        if (!TextUtils.isEmpty(params.mDeviceAdminPackageDownloadLocation)) {
+            mDownloads.add(new DownloadInfo(
+                    params.mDeviceAdminPackageDownloadLocation,
+                    params.mDeviceAdminPackageChecksum,
+                    params.mDeviceAdminPackageDownloadCookieHeader,
+                    DEVICE_OWNER));
+        }
+        if (params.mDeviceInitializerComponentName != null
+                && !TextUtils.isEmpty(params.mDeviceInitializerPackageDownloadLocation)) {
+            mDownloads.add(new DownloadInfo(
+                    params.mDeviceInitializerPackageDownloadLocation,
+                    params.mDeviceInitializerPackageChecksum,
+                    params.mDeviceInitializerPackageDownloadCookieHeader,
+                    INITIALIZER));
+        }
     }
 
     public void run() {
+        if (mDownloads.size() == 0) {
+            mCallback.onSuccess();
+            return;
+        }
         mReceiver = createDownloadReceiver();
         mContext.registerReceiver(mReceiver,
                 new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
 
-        ProvisionLogger.logd("Starting download from " + mDownloadLocationFrom);
         DownloadManager dm = (DownloadManager) mContext
                 .getSystemService(Context.DOWNLOAD_SERVICE);
-        Request request = new Request(Uri.parse(mDownloadLocationFrom));
-        if (mHttpCookieHeader != null) {
-            request.addRequestHeader("Cookie", mHttpCookieHeader);
-            ProvisionLogger.logd("Downloading with http cookie header: " + mHttpCookieHeader);
+        for (DownloadInfo downloadInfo : mDownloads) {
+            ProvisionLogger.logd("Starting download from " + downloadInfo.mDownloadLocationFrom);
+
+            Request request = new Request(Uri.parse(downloadInfo.mDownloadLocationFrom));
+            if (downloadInfo.mHttpCookieHeader != null) {
+                request.addRequestHeader("Cookie", downloadInfo.mHttpCookieHeader);
+                ProvisionLogger.logd(
+                        "Downloading with http cookie header: " + downloadInfo.mHttpCookieHeader);
+            }
+            downloadInfo.mDownloadId = dm.enqueue(request);
         }
-        mDownloadId = dm.enqueue(request);
     }
 
     private BroadcastReceiver createDownloadReceiver() {
         return new BroadcastReceiver() {
+            /**
+             * Whenever the download manager finishes a download, record the successful download for
+             * the corresponding DownloadInfo.
+             */
             @Override
             public void onReceive(Context context, Intent intent) {
                 if (DownloadManager.ACTION_DOWNLOAD_COMPLETE.equals(intent.getAction())) {
                     Query q = new Query();
-                    q.setFilterById(mDownloadId);
-                    DownloadManager dm = (DownloadManager) mContext
-                            .getSystemService(Context.DOWNLOAD_SERVICE);
-                    Cursor c = dm.query(q);
-                    if (c.moveToFirst()) {
-                        int columnIndex = c.getColumnIndex(DownloadManager.COLUMN_STATUS);
-                        if (DownloadManager.STATUS_SUCCESSFUL == c.getInt(columnIndex)) {
-                            String location = c.getString(
-                                    c.getColumnIndex(DownloadManager.COLUMN_LOCAL_FILENAME));
-                            c.close();
-                            onDownloadSuccess(location);
-                        } else if (DownloadManager.STATUS_FAILED == c.getInt(columnIndex)){
-                            int reason = c.getColumnIndex(DownloadManager.COLUMN_REASON);
-                            c.close();
-                            onDownloadFail(reason);
+                    for (DownloadInfo downloadInfo : mDownloads) {
+                        q.setFilterById(downloadInfo.mDownloadId);
+                        Cursor c = mDlm.query(q);
+                        if (c.moveToFirst()) {
+                            long downloadId =
+                                    c.getLong(c.getColumnIndex(DownloadManager.COLUMN_ID));
+                            int columnIndex = c.getColumnIndex(DownloadManager.COLUMN_STATUS);
+                            if (DownloadManager.STATUS_SUCCESSFUL == c.getInt(columnIndex)) {
+                                String location = c.getString(
+                                        c.getColumnIndex(DownloadManager.COLUMN_LOCAL_FILENAME));
+                                c.close();
+                                onDownloadSuccess(downloadId, location);
+                            } else if (DownloadManager.STATUS_FAILED == c.getInt(columnIndex)){
+                                int reason = c.getInt(
+                                        c.getColumnIndex(DownloadManager.COLUMN_REASON));
+                                c.close();
+                                onDownloadFail(reason);
+                            }
                         }
                     }
                 }
@@ -119,40 +146,61 @@
         };
     }
 
-    private void onDownloadSuccess(String location) {
-        if (mDoneDownloading) {
+    /**
+     * For a given successful download, check that the downloaded file is the expected file. Check
+     * if this was the last file the task had to download and finish the DownloadPackageTask if that
+     * is the case.
+     * @param downloadId the unique download id for the completed download.
+     * @param location the file location of the downloaded file.
+     */
+    private void onDownloadSuccess(long downloadId, String location) {
+        DownloadInfo downloadInfo = null;
+        for (DownloadInfo info : mDownloads) {
+            if (downloadId == info.mDownloadId) {
+                downloadInfo = info;
+            }
+        }
+        if (downloadInfo == null || downloadInfo.mDoneDownloading) {
             // DownloadManager can send success more than once. Only act first time.
             return;
         } else {
-            mDoneDownloading = true;
+            downloadInfo.mDoneDownloading = true;
         }
-
         ProvisionLogger.logd("Downloaded succesfully to: " + location);
 
         // Check whether hash of downloaded file matches hash given in constructor.
         byte[] hash = computeHash(location);
         if (hash == null) {
-
             // Error should have been reported in computeHash().
             return;
         }
 
-        if (Arrays.equals(mHash, hash)) {
+        if (Arrays.equals(downloadInfo.mHash, hash)) {
             ProvisionLogger.logd(HASH_TYPE + "-hashes matched, both are "
                     + byteArrayToString(hash));
-            mDownloadLocationTo = location;
-            mCallback.onSuccess();
+            downloadInfo.mLocation = location;
+            downloadInfo.mSuccess = true;
+            checkSuccess();
         } else {
             ProvisionLogger.loge(HASH_TYPE + "-hash of downloaded file does not match given hash.");
             ProvisionLogger.loge(HASH_TYPE + "-hash of downloaded file: "
                     + byteArrayToString(hash));
             ProvisionLogger.loge(HASH_TYPE + "-hash provided by programmer: "
-                    + byteArrayToString(mHash));
+                    + byteArrayToString(downloadInfo.mHash));
 
             mCallback.onError(ERROR_HASH_MISMATCH);
         }
     }
 
+    private void checkSuccess() {
+        for (DownloadInfo info : mDownloads) {
+            if (!info.mSuccess) {
+                return;
+            }
+        }
+        mCallback.onSuccess();
+    }
+
     private void onDownloadFail(int errorCode) {
         ProvisionLogger.loge("Downloading package failed.");
         ProvisionLogger.loge("COLUMN_REASON in DownloadManager response has value: "
@@ -199,8 +247,13 @@
         return hash;
     }
 
-    public String getDownloadedPackageLocation() {
-        return mDownloadLocationTo;
+    public String getDownloadedPackageLocation(String packageType) {
+        for (DownloadInfo info : mDownloads) {
+            if (packageType.equals(info.mPackageType)) {
+                return info.mLocation;
+            }
+        }
+        return "";
     }
 
     public void cleanUp() {
@@ -213,12 +266,14 @@
         //Remove download.
         DownloadManager dm = (DownloadManager) mContext
                 .getSystemService(Context.DOWNLOAD_SERVICE);
-        boolean removeSuccess = dm.remove(mDownloadId) == 1;
-        if (removeSuccess) {
-            ProvisionLogger.logd("Successfully removed the device owner installer file.");
-        } else {
-            ProvisionLogger.loge("Could not remove the device owner installer file.");
-            // Ignore this error. Failing cleanup should not stop provisioning flow.
+        for (DownloadInfo info : mDownloads) {
+            boolean removeSuccess = dm.remove(info.mDownloadId) == 1;
+            if (removeSuccess) {
+                ProvisionLogger.logd("Successfully removed installer file.");
+            } else {
+                ProvisionLogger.loge("Could not remove installer file.");
+                // Ignore this error. Failing cleanup should not stop provisioning flow.
+            }
         }
     }
 
@@ -231,4 +286,24 @@
         public abstract void onSuccess();
         public abstract void onError(int errorCode);
     }
+
+    private static class DownloadInfo {
+        public final String mDownloadLocationFrom;
+        public final byte[] mHash;
+        public final String mHttpCookieHeader;
+        public final String mPackageType;
+        public long mDownloadId;
+        public String mLocation;
+        public boolean mDoneDownloading;
+        public boolean mSuccess;
+
+        public DownloadInfo(String downloadLocation, byte[] hash, String httpCookieHeader,
+                String packageType) {
+            mDownloadLocationFrom = downloadLocation;
+            mHash = hash;
+            mHttpCookieHeader = httpCookieHeader;
+            mPackageType = packageType;
+            mDoneDownloading = false;
+        }
+    }
 }
diff --git a/src/com/android/managedprovisioning/task/InstallPackageTask.java b/src/com/android/managedprovisioning/task/InstallPackageTask.java
index ed4ec0e..fd15f6e 100644
--- a/src/com/android/managedprovisioning/task/InstallPackageTask.java
+++ b/src/com/android/managedprovisioning/task/InstallPackageTask.java
@@ -27,14 +27,17 @@
 import android.Manifest.permission;
 
 import com.android.managedprovisioning.ProvisionLogger;
+import com.android.managedprovisioning.ProvisioningParams;
 
 import java.io.File;
+import java.util.HashSet;
+import java.util.Set;
 
 /**
- * Installs a device owner package from a given path.
+ * Optionally installs device owner and device initializer packages.
  * <p>
- * Before installing it is checked whether the file at the specified path contains the given package
- * and the given admin receiver.
+ * Before installing it is checked whether each file at the specified paths contains the correct
+ * package and admin receiver.
  * </p>
  */
 public class InstallPackageTask {
@@ -43,61 +46,96 @@
 
     private final Context mContext;
     private final Callback mCallback;
-    private final String mPackageName;
+    private final String mDeviceAdminPackageName;
+    private final String mDeviceInitializerPackageName;
+    private final boolean mDownloadedAdmin;
+    private final boolean mDownloadedInitializer;
 
-    private String mPackageLocation;
     private PackageManager mPm;
     private int mPackageVerifierEnable;
+    private Set<InstallInfo> mPackagesToInstall;
 
-    public InstallPackageTask (Context context, String packageName,
-            Callback callback) {
+    public InstallPackageTask (Context context, ProvisioningParams params, Callback callback) {
         mCallback = callback;
         mContext = context;
-        mPackageLocation = null; // Initialized in run().
-        mPackageName = packageName;
+        mDeviceAdminPackageName = params.inferDeviceAdminPackageName();
+        mDownloadedAdmin = !TextUtils.isEmpty(params.mDeviceAdminPackageDownloadLocation);
+
+        if (params.mDeviceInitializerComponentName != null) {
+            mDeviceInitializerPackageName = params.mDeviceInitializerComponentName.getPackageName();
+            mDownloadedInitializer =
+                    !TextUtils.isEmpty(params.mDeviceInitializerPackageDownloadLocation);
+        } else {
+            mDeviceInitializerPackageName = null;
+            mDownloadedInitializer = false;
+        }
+
+        mPackagesToInstall = new HashSet<InstallInfo>();
     }
 
-    public void run(String packageLocation) {
-        if (TextUtils.isEmpty(packageLocation)) {
-            ProvisionLogger.loge("Package Location is empty.");
-            mCallback.onError(ERROR_PACKAGE_INVALID);
+    public void run(String deviceAdminPackageLocation, String deviceInitializerPackageLocation) {
+        if (mDownloadedAdmin) {
+            if (!TextUtils.isEmpty(deviceAdminPackageLocation)) {
+                mPackagesToInstall.add(
+                        new InstallInfo(mDeviceAdminPackageName, deviceAdminPackageLocation));
+            } else {
+                ProvisionLogger.loge("Package Location is empty.");
+                mCallback.onError(ERROR_PACKAGE_INVALID);
+                return;
+            }
+        }
+        if (mDownloadedInitializer) {
+            if (!TextUtils.isEmpty(deviceInitializerPackageLocation)) {
+                mPackagesToInstall.add(new InstallInfo(
+                        mDeviceInitializerPackageName, deviceInitializerPackageLocation));
+            } else {
+                ProvisionLogger.loge("Package Location is empty.");
+                mCallback.onError(ERROR_PACKAGE_INVALID);
+                return;
+            }
+        }
+
+        if (mPackagesToInstall.size() == 0) {
+            ProvisionLogger.loge("Nothing to install");
+            mCallback.onSuccess();
             return;
         }
-        mPackageLocation = packageLocation;
+        ProvisionLogger.logi("Installing package(s)");
 
         PackageInstallObserver observer = new PackageInstallObserver();
         mPm = mContext.getPackageManager();
 
-        if (packageContentIsCorrect()) {
-            // Temporarily turn off package verification.
-            mPackageVerifierEnable = Global.getInt(mContext.getContentResolver(),
-                    Global.PACKAGE_VERIFIER_ENABLE, 1);
-            Global.putInt(mContext.getContentResolver(), Global.PACKAGE_VERIFIER_ENABLE, 0);
+        for (InstallInfo info : mPackagesToInstall) {
+            if (packageContentIsCorrect(info.mPackageName, info.mLocation)) {
+                // Temporarily turn off package verification.
+                mPackageVerifierEnable = Global.getInt(mContext.getContentResolver(),
+                        Global.PACKAGE_VERIFIER_ENABLE, 1);
+                Global.putInt(mContext.getContentResolver(), Global.PACKAGE_VERIFIER_ENABLE, 0);
 
-            Uri packageUri = Uri.parse("file://" + mPackageLocation);
-
-            // Allow for replacing an existing package.
-            // Needed in case this task is performed multiple times.
-            mPm.installPackage(packageUri, observer,
-                    /* flags */ PackageManager.INSTALL_REPLACE_EXISTING, mContext.getPackageName());
-        } else {
-            // Error should have been reported in packageContentIsCorrect().
-            return;
+                // Allow for replacing an existing package.
+                // Needed in case this task is performed multiple times.
+                mPm.installPackage(Uri.parse("file://" + info.mLocation),
+                        observer,
+                        /* flags */ PackageManager.INSTALL_REPLACE_EXISTING,
+                        mContext.getPackageName());
+            } else {
+                // Error should have been reported in packageContentIsCorrect().
+                return;
+            }
         }
     }
 
-    private boolean packageContentIsCorrect() {
-        PackageInfo pi = mPm.getPackageArchiveInfo(mPackageLocation,
-                PackageManager.GET_RECEIVERS);
+    private boolean packageContentIsCorrect(String packageName, String packageLocation) {
+        PackageInfo pi = mPm.getPackageArchiveInfo(packageLocation, PackageManager.GET_RECEIVERS);
         if (pi == null) {
             ProvisionLogger.loge("Package could not be parsed successfully.");
             mCallback.onError(ERROR_PACKAGE_INVALID);
             return false;
         }
-        if (!pi.packageName.equals(mPackageName)) {
+        if (!pi.packageName.equals(packageName)) {
             ProvisionLogger.loge("Package name in apk (" + pi.packageName
                     + ") does not match package name specified by programmer ("
-                    + mPackageName + ").");
+                    + packageName + ").");
             mCallback.onError(ERROR_PACKAGE_INVALID);
             return false;
         }
@@ -115,34 +153,68 @@
     private class PackageInstallObserver extends IPackageInstallObserver.Stub {
         @Override
         public void packageInstalled(String packageName, int returnCode) {
-            // Set package verification flag to its original value.
-            Global.putInt(mContext.getContentResolver(), Global.PACKAGE_VERIFIER_ENABLE,
-                    mPackageVerifierEnable);
-
-            if (returnCode == PackageManager.INSTALL_SUCCEEDED
-                    && mPackageName.equals(packageName)) {
-                ProvisionLogger.logd("Package " + mPackageName + " is succesfully installed.");
-
-                mCallback.onSuccess();
+            InstallInfo installInfo = null;
+            for (InstallInfo info : mPackagesToInstall) {
+                if (packageName.equals(info.mPackageName)) {
+                    installInfo = info;
+                }
+            }
+            if (installInfo == null)  {
+                ProvisionLogger.loge("Package doesn't have expected package name.");
+                mCallback.onError(ERROR_PACKAGE_INVALID);
+                return;
+            }
+            if (returnCode == PackageManager.INSTALL_SUCCEEDED) {
+                installInfo.mDoneInstalling = true;
+                ProvisionLogger.logd(
+                        "Package " + installInfo.mPackageName + " is succesfully installed.");
+                checkSuccess();
             } else {
                 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;
+                    installInfo.mDoneInstalling = true;
+                    ProvisionLogger.logd("Current version of " + installInfo.mPackageName
+                            + " higher than the version to be installed. It was not reinstalled.");
+                    checkSuccess();
+                } else {
+                    ProvisionLogger.logd(
+                            "Installing package " + installInfo.mPackageName + " failed.");
+                    ProvisionLogger.logd(
+                            "Errorcode returned by IPackageInstallObserver = " + returnCode);
+                    mCallback.onError(ERROR_INSTALLATION_FAILED);
                 }
-
-                ProvisionLogger.logd("Installing package " + mPackageName + " failed.");
-                ProvisionLogger.logd("Errorcode returned by IPackageInstallObserver = "
-                        + returnCode);
-                mCallback.onError(ERROR_INSTALLATION_FAILED);
             }
         }
     }
 
+    /**
+     * Calls the success callback once all of the packages that needed to be installed are
+     * successfully installed.
+     */
+    private void checkSuccess() {
+        for (InstallInfo info : mPackagesToInstall) {
+            if (!info.mDoneInstalling) {
+                return;
+            }
+        }
+        // Set package verification flag to its original value.
+        Global.putInt(mContext.getContentResolver(), Global.PACKAGE_VERIFIER_ENABLE,
+                mPackageVerifierEnable);
+        mCallback.onSuccess();
+    }
+
     public abstract static class Callback {
         public abstract void onSuccess();
         public abstract void onError(int errorCode);
     }
+
+    private static class InstallInfo {
+        public String mPackageName;
+        public String mLocation;
+        public boolean mDoneInstalling;
+
+        public InstallInfo(String packageName, String location) {
+            mPackageName = packageName;
+            mLocation = location;
+        }
+    }
 }
\ No newline at end of file
diff --git a/src/com/android/managedprovisioning/task/SetDevicePolicyTask.java b/src/com/android/managedprovisioning/task/SetDevicePolicyTask.java
index 7fe13bd..82a60a8 100644
--- a/src/com/android/managedprovisioning/task/SetDevicePolicyTask.java
+++ b/src/com/android/managedprovisioning/task/SetDevicePolicyTask.java
@@ -19,15 +19,15 @@
 import android.app.admin.DevicePolicyManager;
 import android.content.ComponentName;
 import android.content.Context;
-import android.content.Intent;
-import android.content.pm.ActivityInfo;
-import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
-import android.content.pm.PackageManager.NameNotFoundException;
-import android.text.TextUtils;
 
 import com.android.managedprovisioning.ProvisionLogger;
 
+/**
+ * This tasks sets a given component as the owner of the device. If provided it also sets a given
+ * component as the device initializer, which can perform additional setup steps at the end of
+ * provisioning before setting the device as provisioned.
+ */
 public class SetDevicePolicyTask {
     public static final int ERROR_PACKAGE_NOT_INSTALLED = 0;
     public static final int ERROR_NO_RECEIVER = 1;
@@ -35,72 +35,79 @@
 
     private final Callback mCallback;
     private final Context mContext;
-    private final String mPackageName;
-    private final String mOwner;
+    private String mAdminPackage;
+    private ComponentName mAdminComponent;
+    private final String mOwnerName;
+    private ComponentName mInitializerComponent;
+    private String mInitializerPackageName;
+    private String mInitializerName;
 
-    private String mAdminReceiver;
     private PackageManager mPackageManager;
     private DevicePolicyManager mDevicePolicyManager;
 
-    public SetDevicePolicyTask(Context context, String packageName, String owner,
-            Callback callback) {
+    public SetDevicePolicyTask(Context context, String ownerName,
+            ComponentName initializerComponent, String initializerName, Callback callback) {
         mCallback = callback;
         mContext = context;
-        mPackageName = packageName;
-        mOwner = owner;
+        mOwnerName = ownerName;
+        mInitializerComponent = initializerComponent;
+        if (mInitializerComponent != null) {
+            mInitializerPackageName = initializerComponent.getPackageName();
+            mInitializerName = initializerName;
+        }
+
         mPackageManager = mContext.getPackageManager();
         mDevicePolicyManager = (DevicePolicyManager) mContext.
                 getSystemService(Context.DEVICE_POLICY_SERVICE);
     }
 
-    public void run() {
-        // Check whether package is installed and find the admin receiver.
-        if (isPackageInstalled()) {
-            enableDevicePolicyApp();
-            setActiveAdmin();
-            setDeviceOwner();
-            mCallback.onSuccess();
-        }
-    }
-
-    private boolean isPackageInstalled() {
+    public void run(ComponentName adminComponent) {
         try {
-            PackageInfo pi = mPackageManager.getPackageInfo(mPackageName,
-                    PackageManager.GET_RECEIVERS);
-            for (ActivityInfo ai : pi.receivers) {
-                if (!TextUtils.isEmpty(ai.permission) &&
-                        ai.permission.equals(android.Manifest.permission.BIND_DEVICE_ADMIN)) {
-                    mAdminReceiver = ai.name;
-                    return true;
-                }
+            mAdminComponent = adminComponent;
+            mAdminPackage = mAdminComponent.getPackageName();
+
+            enableDevicePolicyApp(mAdminPackage);
+            setActiveAdmin(mAdminComponent);
+            setDeviceOwner(mAdminPackage, mOwnerName);
+
+            if (mInitializerComponent != null) {
+                enableDevicePolicyApp(mInitializerPackageName);
+                setActiveAdmin(mInitializerComponent);
+                setDeviceInitializer(mInitializerComponent, mInitializerName);
             }
-            mCallback.onError(ERROR_NO_RECEIVER);
-            return false;
-        } catch (NameNotFoundException e) {
-            mCallback.onError(ERROR_PACKAGE_NOT_INSTALLED);
-            return false;
+        } catch (Exception e) {
+            ProvisionLogger.loge("Failure setting device owner or initializer", e);
+            mCallback.onError(ERROR_OTHER);
+            return;
         }
+
+        mCallback.onSuccess();
     }
 
-    private void enableDevicePolicyApp() {
-        int enabledSetting = mPackageManager
-                .getApplicationEnabledSetting(mPackageName);
+    private void enableDevicePolicyApp(String packageName) {
+        int enabledSetting = mPackageManager.getApplicationEnabledSetting(packageName);
         if (enabledSetting != PackageManager.COMPONENT_ENABLED_STATE_DEFAULT) {
-            mPackageManager.setApplicationEnabledSetting(mPackageName,
+            mPackageManager.setApplicationEnabledSetting(packageName,
                     PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, 0);
         }
     }
 
-    public void setActiveAdmin() {
-        ProvisionLogger.logd("Setting " + mPackageName + " as active admin.");
-        ComponentName component = new ComponentName(mPackageName, mAdminReceiver);
+    public void setActiveAdmin(ComponentName component) {
+        ProvisionLogger.logd("Setting " + component + " as active admin.");
         mDevicePolicyManager.setActiveAdmin(component, true);
     }
 
-    public void setDeviceOwner() {
-        ProvisionLogger.logd("Setting " + mPackageName + " as device owner " + mOwner + ".");
-        if (!mDevicePolicyManager.isDeviceOwner(mPackageName)) {
-            mDevicePolicyManager.setDeviceOwner(mPackageName, mOwner);
+    public void setDeviceOwner(String packageName, String owner) {
+        ProvisionLogger.logd("Setting " + packageName + " as device owner " + owner + ".");
+        if (!mDevicePolicyManager.isDeviceOwner(packageName)) {
+            mDevicePolicyManager.setDeviceOwner(packageName, owner);
+        }
+    }
+
+    public void setDeviceInitializer(ComponentName component, String owner) {
+        ProvisionLogger.logd("Setting " + component + " as device initializer " + owner + ".");
+        if (!mDevicePolicyManager.isDeviceInitializerApp(component.getPackageName())) {
+            mDevicePolicyManager.setDeviceInitializer(null, component, owner);
         }
     }
 
