summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore5
-rw-r--r--Android.mk8
-rw-r--r--AndroidManifest.xml35
-rw-r--r--res/drawable-hdpi/tab_unselected_holo.9.pngbin0 -> 153 bytes
-rw-r--r--res/drawable-mdpi/tab_unselected_holo.9.pngbin0 -> 157 bytes
-rw-r--r--res/drawable-xhdpi/tab_unselected_holo.9.pngbin0 -> 166 bytes
-rw-r--r--res/drawable-xxhdpi/tab_unselected_holo.9.pngbin0 -> 1054 bytes
-rw-r--r--res/drawable/dialog_background.xml (renamed from res/drawable/ic_result_status.xml)15
-rw-r--r--res/drawable/ic_android_92.xml25
-rw-r--r--res/drawable/ic_done_92.xml25
-rw-r--r--res/drawable/ic_file_download.xml28
-rw-r--r--res/drawable/ic_info_outline.xml (renamed from res/drawable/ic_info.xml)0
-rw-r--r--res/drawable/ic_report_problem_92.xml25
-rw-r--r--res/layout-television/header.xml47
-rw-r--r--res/layout-television/permissions_frame.xml98
-rw-r--r--res/layout-watch/settings_internal.xml41
-rw-r--r--res/layout/app_details.xml64
-rw-r--r--res/layout/grant_permissions.xml120
-rw-r--r--res/layout/header.xml2
-rw-r--r--res/layout/install_confirm.xml149
-rw-r--r--res/layout/install_start.xml155
-rw-r--r--res/layout/label.xml8
-rw-r--r--res/layout/op_progress.xml150
-rw-r--r--res/layout/permission_description.xml7
-rw-r--r--res/layout/review_permissions.xml90
-rw-r--r--res/layout/uninstall_confirm.xml14
-rw-r--r--res/layout/uninstall_progress.xml140
-rw-r--r--res/values-af-television/strings.xml5
-rw-r--r--res/values-af/strings.xml42
-rw-r--r--res/values-am-television/strings.xml5
-rw-r--r--res/values-am/strings.xml42
-rw-r--r--res/values-ar-television/strings.xml5
-rw-r--r--res/values-ar/strings.xml42
-rw-r--r--res/values-az-rAZ-television/strings.xml5
-rw-r--r--res/values-az-rAZ/strings.xml44
-rw-r--r--res/values-b+sr+Latn-television/strings.xml28
-rw-r--r--res/values-b+sr+Latn-watch/strings.xml25
-rw-r--r--res/values-b+sr+Latn/strings.xml130
-rw-r--r--res/values-be-rBY-television/strings.xml28
-rw-r--r--res/values-be-rBY-watch/strings.xml25
-rw-r--r--res/values-be-rBY/strings.xml131
-rw-r--r--res/values-bg-television/strings.xml5
-rw-r--r--res/values-bg/strings.xml42
-rw-r--r--res/values-bn-rBD-television/strings.xml5
-rw-r--r--res/values-bn-rBD/strings.xml42
-rw-r--r--res/values-bs-rBA-television/strings.xml28
-rw-r--r--res/values-bs-rBA-watch/strings.xml25
-rw-r--r--res/values-bs-rBA/strings.xml130
-rw-r--r--res/values-ca-television/strings.xml5
-rw-r--r--res/values-ca/strings.xml46
-rw-r--r--res/values-cs-television/strings.xml5
-rw-r--r--res/values-cs/strings.xml42
-rw-r--r--res/values-da-television/strings.xml5
-rw-r--r--res/values-da/strings.xml42
-rw-r--r--res/values-de-television/strings.xml5
-rw-r--r--res/values-de/strings.xml42
-rw-r--r--res/values-el-television/strings.xml5
-rw-r--r--res/values-el/strings.xml42
-rw-r--r--res/values-en-rAU-television/strings.xml5
-rw-r--r--res/values-en-rAU/strings.xml42
-rw-r--r--res/values-en-rGB-television/strings.xml5
-rw-r--r--res/values-en-rGB/strings.xml42
-rw-r--r--res/values-en-rIN-television/strings.xml5
-rw-r--r--res/values-en-rIN/strings.xml42
-rw-r--r--res/values-es-rUS-television/strings.xml5
-rw-r--r--res/values-es-rUS/strings.xml42
-rw-r--r--res/values-es-television/strings.xml5
-rw-r--r--res/values-es-watch/strings.xml2
-rw-r--r--res/values-es/strings.xml42
-rw-r--r--res/values-et-rEE-television/strings.xml5
-rw-r--r--res/values-et-rEE/strings.xml48
-rw-r--r--res/values-eu-rES-television/strings.xml7
-rw-r--r--res/values-eu-rES/strings.xml44
-rw-r--r--res/values-fa-television/strings.xml5
-rw-r--r--res/values-fa-watch/strings.xml2
-rw-r--r--res/values-fa/strings.xml44
-rw-r--r--res/values-fi-television/strings.xml5
-rw-r--r--res/values-fi/strings.xml42
-rw-r--r--res/values-fr-rCA-television/strings.xml5
-rw-r--r--res/values-fr-rCA/strings.xml42
-rw-r--r--res/values-fr-television/strings.xml5
-rw-r--r--res/values-fr/strings.xml42
-rw-r--r--res/values-gl-rES-television/strings.xml5
-rw-r--r--res/values-gl-rES/strings.xml46
-rw-r--r--res/values-gu-rIN-television/strings.xml7
-rw-r--r--res/values-gu-rIN-watch/strings.xml2
-rw-r--r--res/values-gu-rIN/strings.xml78
-rw-r--r--res/values-hi-television/strings.xml5
-rw-r--r--res/values-hi/strings.xml42
-rw-r--r--res/values-hr-television/strings.xml5
-rw-r--r--res/values-hr/strings.xml42
-rw-r--r--res/values-hu-television/strings.xml5
-rw-r--r--res/values-hu/strings.xml42
-rw-r--r--res/values-hy-rAM-television/strings.xml5
-rw-r--r--res/values-hy-rAM/strings.xml46
-rw-r--r--res/values-in-television/strings.xml5
-rw-r--r--res/values-in/strings.xml42
-rw-r--r--res/values-is-rIS-television/strings.xml5
-rw-r--r--res/values-is-rIS/strings.xml42
-rw-r--r--res/values-it-television/strings.xml5
-rw-r--r--res/values-it/strings.xml52
-rw-r--r--res/values-iw-television/strings.xml5
-rw-r--r--res/values-iw/strings.xml42
-rw-r--r--res/values-ja-television/strings.xml5
-rw-r--r--res/values-ja/strings.xml44
-rw-r--r--res/values-ka-rGE-television/strings.xml5
-rw-r--r--res/values-ka-rGE/strings.xml44
-rw-r--r--res/values-kk-rKZ-television/strings.xml5
-rw-r--r--res/values-kk-rKZ/strings.xml44
-rw-r--r--res/values-km-rKH-television/strings.xml5
-rw-r--r--res/values-km-rKH/strings.xml42
-rw-r--r--res/values-kn-rIN-television/strings.xml5
-rw-r--r--res/values-kn-rIN/strings.xml42
-rw-r--r--res/values-ko-television/strings.xml5
-rw-r--r--res/values-ko/strings.xml42
-rw-r--r--res/values-ky-rKG-television/strings.xml5
-rw-r--r--res/values-ky-rKG/strings.xml46
-rw-r--r--res/values-lo-rLA-television/strings.xml5
-rw-r--r--res/values-lo-rLA/strings.xml44
-rw-r--r--res/values-lt-television/strings.xml5
-rw-r--r--res/values-lt/strings.xml42
-rw-r--r--res/values-lv-television/strings.xml5
-rw-r--r--res/values-lv/strings.xml42
-rw-r--r--res/values-mk-rMK-television/strings.xml5
-rw-r--r--res/values-mk-rMK/strings.xml42
-rw-r--r--res/values-ml-rIN-television/strings.xml5
-rw-r--r--res/values-ml-rIN/strings.xml44
-rw-r--r--res/values-mn-rMN-television/strings.xml5
-rw-r--r--res/values-mn-rMN/strings.xml46
-rw-r--r--res/values-mr-rIN-television/strings.xml5
-rw-r--r--res/values-mr-rIN/strings.xml44
-rw-r--r--res/values-ms-rMY-television/strings.xml5
-rw-r--r--res/values-ms-rMY/strings.xml42
-rw-r--r--res/values-my-rMM-television/strings.xml5
-rw-r--r--res/values-my-rMM/strings.xml70
-rw-r--r--res/values-nb-television/strings.xml5
-rw-r--r--res/values-nb/strings.xml42
-rw-r--r--res/values-ne-rNP-television/strings.xml5
-rw-r--r--res/values-ne-rNP/strings.xml46
-rw-r--r--res/values-nl-television/strings.xml5
-rw-r--r--res/values-nl/strings.xml42
-rw-r--r--res/values-pa-rIN-television/strings.xml5
-rw-r--r--res/values-pa-rIN/strings.xml84
-rw-r--r--res/values-pl-television/strings.xml5
-rw-r--r--res/values-pl/strings.xml42
-rw-r--r--res/values-pt-rBR-television/strings.xml5
-rw-r--r--res/values-pt-rBR/strings.xml42
-rw-r--r--res/values-pt-rPT-television/strings.xml5
-rw-r--r--res/values-pt-rPT/strings.xml42
-rw-r--r--res/values-pt-television/strings.xml5
-rw-r--r--res/values-pt/strings.xml42
-rw-r--r--res/values-ro-television/strings.xml5
-rw-r--r--res/values-ro/strings.xml84
-rw-r--r--res/values-ru-television/strings.xml5
-rw-r--r--res/values-ru/strings.xml42
-rw-r--r--res/values-si-rLK-television/strings.xml5
-rw-r--r--res/values-si-rLK/strings.xml44
-rw-r--r--res/values-sk-television/strings.xml5
-rw-r--r--res/values-sk/strings.xml44
-rw-r--r--res/values-sl-television/strings.xml5
-rw-r--r--res/values-sl/strings.xml42
-rw-r--r--res/values-sq-rAL-television/strings.xml5
-rw-r--r--res/values-sq-rAL/strings.xml42
-rw-r--r--res/values-sr-television/strings.xml5
-rw-r--r--res/values-sr/strings.xml44
-rw-r--r--res/values-sv-television/strings.xml5
-rw-r--r--res/values-sv/strings.xml42
-rw-r--r--res/values-sw-television/strings.xml5
-rw-r--r--res/values-sw/strings.xml42
-rw-r--r--res/values-ta-rIN-television/strings.xml5
-rw-r--r--res/values-ta-rIN/strings.xml42
-rw-r--r--res/values-te-rIN-television/strings.xml5
-rw-r--r--res/values-te-rIN/strings.xml42
-rw-r--r--res/values-television/colors.xml2
-rw-r--r--res/values-television/strings.xml7
-rw-r--r--res/values-television/themes.xml6
-rw-r--r--res/values-th-television/strings.xml5
-rw-r--r--res/values-th/strings.xml42
-rw-r--r--res/values-tl-television/strings.xml5
-rw-r--r--res/values-tl/strings.xml42
-rw-r--r--res/values-tr-television/strings.xml5
-rw-r--r--res/values-tr/strings.xml42
-rw-r--r--res/values-uk-television/strings.xml5
-rw-r--r--res/values-uk/strings.xml42
-rw-r--r--res/values-ur-rPK-television/strings.xml5
-rw-r--r--res/values-ur-rPK/strings.xml42
-rw-r--r--res/values-uz-rUZ-television/strings.xml5
-rw-r--r--res/values-uz-rUZ/strings.xml56
-rw-r--r--res/values-vi-television/strings.xml5
-rw-r--r--res/values-vi/strings.xml42
-rw-r--r--res/values-zh-rCN-television/strings.xml5
-rw-r--r--res/values-zh-rCN/strings.xml42
-rw-r--r--res/values-zh-rHK-television/strings.xml5
-rw-r--r--res/values-zh-rHK/strings.xml44
-rw-r--r--res/values-zh-rTW-television/strings.xml5
-rw-r--r--res/values-zh-rTW/strings.xml42
-rw-r--r--res/values-zu-television/strings.xml5
-rw-r--r--res/values-zu/strings.xml42
-rw-r--r--res/values/strings.xml127
-rwxr-xr-xres/values/styles.xml21
-rw-r--r--res/values/themes.xml8
-rw-r--r--res/xml/all_permissions.xml6
-rw-r--r--src/com/android/packageinstaller/EventLogTags.logtags6
-rwxr-xr-xsrc/com/android/packageinstaller/InstallAppProgress.java261
-rw-r--r--src/com/android/packageinstaller/InstallFlowAnalytics.java608
-rw-r--r--src/com/android/packageinstaller/PackageInstallerActivity.java423
-rw-r--r--src/com/android/packageinstaller/PackageUtil.java17
-rw-r--r--src/com/android/packageinstaller/TabsAdapter.java8
-rwxr-xr-xsrc/com/android/packageinstaller/UninstallAppProgress.java143
-rwxr-xr-xsrc/com/android/packageinstaller/UninstallerActivity.java32
-rw-r--r--src/com/android/packageinstaller/permission/model/AppPermissionGroup.java177
-rw-r--r--src/com/android/packageinstaller/permission/model/AppPermissions.java40
-rw-r--r--src/com/android/packageinstaller/permission/model/Permission.java17
-rw-r--r--src/com/android/packageinstaller/permission/model/PermissionApps.java48
-rw-r--r--src/com/android/packageinstaller/permission/model/PermissionGroups.java2
-rw-r--r--src/com/android/packageinstaller/permission/model/PermissionStatusReceiver.java116
-rw-r--r--src/com/android/packageinstaller/permission/service/RuntimePermissionPresenterServiceImpl.java107
-rw-r--r--src/com/android/packageinstaller/permission/ui/ConfirmActionDialogFragment.java63
-rw-r--r--src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java71
-rw-r--r--src/com/android/packageinstaller/permission/ui/ManualLayoutFrame.java60
-rw-r--r--src/com/android/packageinstaller/permission/ui/OverlayTouchActivity.java31
-rw-r--r--src/com/android/packageinstaller/permission/ui/ReviewPermissionsActivity.java412
-rw-r--r--src/com/android/packageinstaller/permission/ui/SecureButtonView.java56
-rw-r--r--src/com/android/packageinstaller/permission/ui/handheld/AllAppPermissionsFragment.java2
-rw-r--r--src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java48
-rw-r--r--src/com/android/packageinstaller/permission/ui/handheld/GrantPermissionsViewHandlerImpl.java316
-rw-r--r--src/com/android/packageinstaller/permission/ui/handheld/ManagePermissionsFragment.java24
-rw-r--r--src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java60
-rw-r--r--src/com/android/packageinstaller/permission/ui/handheld/RestrictedSwitchPreference.java86
-rw-r--r--src/com/android/packageinstaller/permission/ui/handheld/SettingsWithHeader.java1
-rw-r--r--src/com/android/packageinstaller/permission/ui/television/AllAppPermissionsFragment.java213
-rw-r--r--src/com/android/packageinstaller/permission/ui/television/AppPermissionsFragment.java97
-rw-r--r--src/com/android/packageinstaller/permission/ui/television/ManagePermissionsFragment.java46
-rw-r--r--src/com/android/packageinstaller/permission/ui/television/PermissionAppsFragment.java57
-rw-r--r--src/com/android/packageinstaller/permission/ui/television/PermissionsFrameFragment.java52
-rw-r--r--src/com/android/packageinstaller/permission/ui/television/SettingsWithHeader.java38
-rw-r--r--src/com/android/packageinstaller/permission/ui/wear/AppPermissionsFragmentWear.java29
-rw-r--r--src/com/android/packageinstaller/permission/ui/wear/TitledSettingsFragment.java21
-rw-r--r--src/com/android/packageinstaller/permission/ui/wear/WarningConfirmationActivity.java2
-rw-r--r--src/com/android/packageinstaller/permission/utils/ArrayUtils.java45
-rw-r--r--src/com/android/packageinstaller/permission/utils/IoUtils.java36
-rw-r--r--src/com/android/packageinstaller/permission/utils/Utils.java3
-rw-r--r--src/com/android/packageinstaller/wear/WearPackageArgs.java14
-rw-r--r--src/com/android/packageinstaller/wear/WearPackageInstallerService.java61
-rw-r--r--src/com/android/packageinstaller/wear/WearPackageUtil.java16
245 files changed, 6050 insertions, 3797 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..4b126aba
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+bin/
+gen/
+.project
+.classpath
+project.properties
diff --git a/Android.mk b/Android.mk
index 4b2864ba..d4499c28 100644
--- a/Android.mk
+++ b/Android.mk
@@ -4,8 +4,7 @@ include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := \
- $(call all-java-files-under, src) \
- src/com/android/packageinstaller/EventLogTags.logtags
+ $(call all-java-files-under, src)
LOCAL_STATIC_JAVA_LIBRARIES += \
android-support-v4 \
@@ -36,4 +35,9 @@ LOCAL_PRIVILEGED_MODULE := true
LOCAL_PROGUARD_FLAG_FILES := proguard.flags
+# Comment for now unitl all private API dependencies are removed
+# LOCAL_SDK_VERSION := system_current
+
+include frameworks/base/packages/SettingsLib/common.mk
+
include $(BUILD_PACKAGE)
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 2a0c6f58..369a18fe 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -18,13 +18,19 @@
<uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.KILL_UID" />
+ <uses-permission android:name="android.permission.MANAGE_APP_OPS_RESTRICTIONS" />
<uses-permission android:name="com.google.android.permission.INSTALL_WEARABLE_PACKAGES" />
+ <!-- Needed for passing extras with intent ACTION_SHOW_ADMIN_SUPPORT_DETAILS -->
+ <uses-permission android:name="android.permission.MANAGE_DEVICE_ADMINS" />
+
<application android:label="@string/app_name"
android:allowBackup="false"
android:theme="@style/Theme.DialogWhenLarge"
- android:supportsRtl="true">
+ android:supportsRtl="true"
+ android:defaultToDeviceProtectedStorage="true"
+ android:directBootAware="true">
<activity android:name=".PackageInstallerActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
@@ -34,6 +40,7 @@
<action android:name="android.intent.action.INSTALL_PACKAGE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="file" />
+ <data android:scheme="content" />
<data android:mimeType="application/vnd.android.package-archive" />
</intent-filter>
<intent-filter android:priority="1">
@@ -41,6 +48,7 @@
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="file" />
<data android:scheme="package" />
+ <data android:scheme="content" />
</intent-filter>
<intent-filter android:priority="1">
<action android:name="android.content.pm.action.CONFIRM_PERMISSIONS" />
@@ -65,7 +73,7 @@
</activity>
<activity android:name=".UninstallAppProgress"
- android:configChanges="orientation|keyboardHidden|screenSize"
+ android:configChanges="mnc|mnc|touchscreen|navigation|screenLayout|screenSize|smallestScreenSize|orientation|locale|keyboard|keyboardHidden|fontScale|uiMode|layoutDirection|density"
android:exported="false" />
<activity android:name=".permission.ui.GrantPermissionsActivity"
@@ -92,6 +100,16 @@
</intent-filter>
</activity>
+ <activity android:name=".permission.ui.ReviewPermissionsActivity"
+ android:excludeFromRecents="true"
+ android:theme="@style/Settings.NoActionBar"
+ android:permission="android.permission.GRANT_RUNTIME_PERMISSIONS">
+ <intent-filter android:priority="1">
+ <action android:name="android.intent.action.REVIEW_PERMISSIONS" />
+ <category android:name="android.intent.category.DEFAULT" />
+ </intent-filter>
+ </activity>
+
<activity android:name=".permission.ui.OverlayWarningDialog"
android:excludeFromRecents="true"
android:theme="@android:style/Theme.DeviceDefault.Light.Dialog.NoActionBar" />
@@ -107,13 +125,12 @@
<!-- Wearable Components -->
<service android:name=".wear.WearPackageInstallerService"
android:permission="com.google.android.permission.INSTALL_WEARABLE_PACKAGES"
- android:exported="true">
- <intent-filter>
- <action android:name="com.android.packageinstaller.wear.INSTALL_PACKAGE"/>
- <data android:scheme="content" android:mimeType="vnd.android.cursor.item/*"/>
- </intent-filter>
- <intent-filter>
- <action android:name="com.android.packageinstaller.wear.UNINSTALL_PACKAGE"/>
+ android:exported="true"/>
+
+ <service android:name=".permission.service.RuntimePermissionPresenterServiceImpl"
+ android:permission="android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE">
+ <intent-filter android:priority="1">
+ <action android:name="android.permissionpresenterservice.RuntimePermissionPresenterService"/>
</intent-filter>
</service>
diff --git a/res/drawable-hdpi/tab_unselected_holo.9.png b/res/drawable-hdpi/tab_unselected_holo.9.png
new file mode 100644
index 00000000..19532ab1
--- /dev/null
+++ b/res/drawable-hdpi/tab_unselected_holo.9.png
Binary files differ
diff --git a/res/drawable-mdpi/tab_unselected_holo.9.png b/res/drawable-mdpi/tab_unselected_holo.9.png
new file mode 100644
index 00000000..a2dbf42b
--- /dev/null
+++ b/res/drawable-mdpi/tab_unselected_holo.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/tab_unselected_holo.9.png b/res/drawable-xhdpi/tab_unselected_holo.9.png
new file mode 100644
index 00000000..94651737
--- /dev/null
+++ b/res/drawable-xhdpi/tab_unselected_holo.9.png
Binary files differ
diff --git a/res/drawable-xxhdpi/tab_unselected_holo.9.png b/res/drawable-xxhdpi/tab_unselected_holo.9.png
new file mode 100644
index 00000000..8fcecf76
--- /dev/null
+++ b/res/drawable-xxhdpi/tab_unselected_holo.9.png
Binary files differ
diff --git a/res/drawable/ic_result_status.xml b/res/drawable/dialog_background.xml
index bd8bf756..80049529 100644
--- a/res/drawable/ic_result_status.xml
+++ b/res/drawable/dialog_background.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
+<!-- Copyright (C) 2016 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -13,9 +13,10 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<level-list xmlns:android="http://schemas.android.com/apk/res/android">
- <!-- success state -->
- <item android:maxLevel="0" android:drawable="@drawable/ic_success_material"/>
- <!-- failure state -->
- <item android:maxLevel="1" android:drawable="@drawable/ic_fail_material"/>
-</level-list> \ No newline at end of file
+
+<inset xmlns:android="http://schemas.android.com/apk/res/android">
+ <shape android:shape="rectangle">
+ <corners android:radius="2dp" />
+ <solid android:color="?android:attr/colorBackground" />
+ </shape>
+</inset>
diff --git a/res/drawable/ic_android_92.xml b/res/drawable/ic_android_92.xml
new file mode 100644
index 00000000..7d527377
--- /dev/null
+++ b/res/drawable/ic_android_92.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2016 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="92dp"
+ android:height="92dp"
+ android:viewportWidth="92.0"
+ android:viewportHeight="92.0">
+ <path
+ android:fillColor="#C8CCCE"
+ android:pathData="m23,69c0,2.11 1.72,3.83 3.83,3.83h3.83v13.42c0,3.18 2.57,5.75 5.75,5.75 3.18,0 5.75,-2.57 5.75,-5.75L42.17,72.83h7.67v13.42c0,3.18 2.57,5.75 5.75,5.75 3.18,0 5.75,-2.57 5.75,-5.75L61.33,72.83h3.83c2.11,0 3.83,-1.72 3.83,-3.83L69,30.67L23,30.67L23,69zM13.42,30.67c-3.18,0 -5.75,2.57 -5.75,5.75v26.83c0,3.18 2.57,5.75 5.75,5.75 3.18,0 5.75,-2.57 5.75,-5.75L19.17,36.42c0,-3.18 -2.57,-5.75 -5.75,-5.75zM78.58,30.67c-3.18,0 -5.75,2.57 -5.75,5.75v26.83c0,3.18 2.57,5.75 5.75,5.75 3.18,0 5.75,-2.57 5.75,-5.75L84.33,36.42c0,-3.18 -2.57,-5.75 -5.75,-5.75zM59.53,8.28 L64.53,3.28c0.75,-0.75 0.75,-1.95 0,-2.7 -0.75,-0.75 -1.95,-0.75 -2.7,0L56.16,6.23C53.09,4.72 49.66,3.84 46,3.84c-3.68,0 -7.13,0.88 -10.22,2.41L30.09,0.56c-0.75,-0.75 -1.95,-0.75 -2.7,0 -0.75,0.75 -0.75,1.95 0,2.7l5.02,5.02C26.72,12.48 23,19.23 23,26.84h46c0,-7.63 -3.74,-14.37 -9.47,-18.55zM38.33,19.17h-3.83v-3.83h3.83v3.83zM57.5,19.17h-3.83v-3.83h3.83v3.83z"/>
+</vector>
diff --git a/res/drawable/ic_done_92.xml b/res/drawable/ic_done_92.xml
new file mode 100644
index 00000000..396338d3
--- /dev/null
+++ b/res/drawable/ic_done_92.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2016 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="92dp"
+ android:height="92dp"
+ android:viewportWidth="92.0"
+ android:viewportHeight="92.0">
+ <path
+ android:fillColor="#C8CCCE"
+ android:pathData="M34.5,61.99 L18.51,46 13.09,51.42 34.5,72.83l46,-46 -5.42,-5.42z"/>
+</vector>
diff --git a/res/drawable/ic_file_download.xml b/res/drawable/ic_file_download.xml
new file mode 100644
index 00000000..7ea91f5b
--- /dev/null
+++ b/res/drawable/ic_file_download.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2016 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
+
+ <path
+ android:fillColor="#000000"
+ android:pathData="M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z" />
+ <path
+ android:pathData="M0 0h24v24H0z" />
+</vector>
diff --git a/res/drawable/ic_info.xml b/res/drawable/ic_info_outline.xml
index 029ff1b5..029ff1b5 100644
--- a/res/drawable/ic_info.xml
+++ b/res/drawable/ic_info_outline.xml
diff --git a/res/drawable/ic_report_problem_92.xml b/res/drawable/ic_report_problem_92.xml
new file mode 100644
index 00000000..f262601f
--- /dev/null
+++ b/res/drawable/ic_report_problem_92.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2016 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="92dp"
+ android:height="92dp"
+ android:viewportWidth="92.0"
+ android:viewportHeight="92.0">
+ <path
+ android:fillColor="#C8CCCE"
+ android:pathData="M2,84H90L46,8 2,84zM50,72h-8v-8h8v8zM50,56H42V40h8v16z"/>
+</vector>
diff --git a/res/layout-television/header.xml b/res/layout-television/header.xml
new file mode 100644
index 00000000..56e35db7
--- /dev/null
+++ b/res/layout-television/header.xml
@@ -0,0 +1,47 @@
+<!--
+ Copyright (C) 2016 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="?attr/defaultBrandColor"
+ android:elevation="@dimen/lb_preference_decor_title_container_elevation"
+ android:orientation="vertical">
+
+ <FrameLayout
+ android:id="@+id/decor_title_container"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="?attr/defaultBrandColor"
+ android:elevation="@dimen/lb_preference_decor_title_container_elevation"
+ android:transitionGroup="false"
+ >
+ <TextView
+ android:id="@+id/decor_title"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/lb_preference_decor_title_text_height"
+ android:layout_marginTop="@dimen/lb_preference_decor_title_margin_top"
+ android:layout_marginStart="@dimen/lb_preference_decor_title_margin_start"
+ android:layout_marginEnd="@dimen/lb_preference_decor_title_margin_end"
+ android:fontFamily="sans-serif-condensed"
+ android:gravity="center_vertical"
+ android:singleLine="true"
+ android:textSize="@dimen/lb_preference_decor_title_text_size"
+ android:textColor="?android:attr/textColorPrimary"
+ />
+ </FrameLayout>
+
+</LinearLayout>
diff --git a/res/layout-television/permissions_frame.xml b/res/layout-television/permissions_frame.xml
index da0b2555..1dcda8d4 100644
--- a/res/layout-television/permissions_frame.xml
+++ b/res/layout-television/permissions_frame.xml
@@ -15,99 +15,33 @@
~ limitations under the License
-->
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:filterTouchesWhenObscured="true">
<FrameLayout
- android:layout_width="@dimen/lb_action_section_width"
- android:layout_height="match_parent"
- android:layout_alignParentEnd="true"
- android:background="@color/lb_action_fragment_background">
+ android:layout_width="@dimen/lb_settings_pane_width"
+ android:layout_height="match_parent"
+ android:background="@color/lb_preference_decor_list_background"
+ android:layout_gravity="end">
<FrameLayout
- android:id="@+id/prefs_container"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
+ android:id="@+id/prefs_container"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
<TextView
- android:id="@+id/no_permissions"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:text="@string/no_permissions"
- android:gravity="center"
- android:textAppearance="@android:style/TextAppearance.Large"
- />
+ android:id="@+id/no_permissions"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:text="@string/no_permissions"
+ android:gravity="center"
+ android:textAppearance="@android:style/TextAppearance.Large"
+ />
</FrameLayout>
</FrameLayout>
-
- <RelativeLayout
- android:layout_width="@dimen/lb_content_section_width"
- android:layout_height="match_parent"
- android:layout_alignParentStart="true"
- android:background="@color/lb_dialog_activity_background"
- android:paddingStart="@dimen/lb_content_fragment_start_padding"
- android:paddingEnd="@dimen/lb_content_fragment_delimiter_padding" >
-
- <ImageView
- android:id="@+id/lb_icon"
- android:layout_width="@dimen/lb_content_fragment_icon_width"
- android:layout_height="@dimen/lb_content_fragment_icon_width"
- android:layout_alignParentEnd="true"
- android:layout_centerVertical="true"
- android:layout_marginStart="@dimen/lb_content_fragment_delimiter_padding"
- android:maxHeight="@dimen/lb_content_fragment_max_icon_height"
- android:minHeight="@dimen/lb_content_fragment_icon_width"
- android:scaleType="fitCenter"
- tools:ignore="ContentDescription" />
-
- <TextView
- android:id="@+id/lb_title"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignWithParentIfMissing="true"
- android:layout_centerVertical="true"
- android:layout_toStartOf="@id/lb_icon"
- android:ellipsize="end"
- android:fontFamily="sans-serif-light"
- android:gravity="end"
- android:maxLines="2"
- android:paddingBottom="@dimen/lb_content_fragment_title_text_bottom_padding"
- android:paddingTop="@dimen/lb_content_fragment_title_text_top_padding"
- android:textColor="@color/lb_content_title_text_color"
- android:textSize="@dimen/lb_content_fragment_title_text_size"/>
-
- <TextView
- android:id="@+id/lb_breadcrumb"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_above="@id/lb_title"
- android:layout_alignWithParentIfMissing="true"
- android:layout_toStartOf="@id/lb_icon"
- android:ellipsize="end"
- android:fontFamily="sans-serif-condensed"
- android:singleLine="true"
- android:textColor="@color/lb_content_breadcrumb_text_color"
- android:textSize="@dimen/lb_content_fragment_breadcrumb_text_size" />
-
- <TextView
- android:id="@+id/lb_description"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignWithParentIfMissing="true"
- android:layout_below="@id/lb_title"
- android:layout_toStartOf="@id/lb_icon"
- android:ellipsize="end"
- android:fontFamily="sans-serif"
- android:gravity="end"
- android:maxLines="6"
- android:textColor="@color/lb_content_description_text_color"
- android:textSize="@dimen/lb_content_fragment_description_text_size"
- android:lineSpacingExtra="3dp"/>
- </RelativeLayout>
-
-</RelativeLayout>
+</FrameLayout>
diff --git a/res/layout-watch/settings_internal.xml b/res/layout-watch/settings_internal.xml
index fdd21cef..e1947aaa 100644
--- a/res/layout-watch/settings_internal.xml
+++ b/res/layout-watch/settings_internal.xml
@@ -14,19 +14,38 @@
limitations under the License.
-->
<merge xmlns:android="http://schemas.android.com/apk/res/android">
- <TextView
- android:id="@+id/header"
+ <LinearLayout
android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:minHeight="@dimen/settings_header_base_height"
- android:layout_marginLeft="16dp"
- android:layout_marginTop="@dimen/settings_header_top_margin"
- android:textSize="@dimen/setting_short_header_text_size"
- android:maxLines="2"
- android:ellipsize="end"
- android:textColor="#9E9E9E"
- android:fontFamily="sans-serif-condensed-light"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+ <TextView
+ android:id="@+id/header"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:minHeight="@dimen/settings_header_base_height"
+ android:layout_marginLeft="16dp"
+ android:layout_marginTop="@dimen/settings_header_top_margin"
+ android:textSize="@dimen/setting_short_header_text_size"
+ android:maxLines="2"
+ android:ellipsize="end"
+ android:textColor="#9E9E9E"
+ android:fontFamily="sans-serif-condensed-light"
+ />
+
+ <TextView
+ android:id="@+id/details"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:minHeight="@dimen/settings_header_base_height"
+ android:layout_marginLeft="16dp"
+ android:layout_marginTop="@dimen/settings_header_top_margin"
+ android:maxLines="2"
+ android:ellipsize="end"
+ android:textColor="@color/permissions_settings_item_color"
+ android:textSize="14sp"
+ android:visibility="gone"
/>
+ </LinearLayout>
<android.support.wearable.view.WearableListView
xmlns:android="http://schemas.android.com/apk/res/android"
diff --git a/res/layout/app_details.xml b/res/layout/app_details.xml
index 8f7d2cff..86923c5c 100644
--- a/res/layout/app_details.xml
+++ b/res/layout/app_details.xml
@@ -18,49 +18,29 @@
Defines the layout of the application snippet that appears on top of the
installation screens
-->
-<!-- The snippet about the application - title, icon, description. -->
-<RelativeLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/app_snippet"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingStart="16dip"
- android:paddingEnd="16dip"
- android:paddingTop="24dip"
- >
+<!-- The snippet about the application - title, icon -->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/app_snippet"
+ android:layout_width="match_parent"
+ android:layout_height="?android:attr/actionBarSize"
+ android:orientation="horizontal">
+
<ImageView android:id="@+id/app_icon"
- android:layout_width="32dip"
- android:layout_height="32dip"
- android:layout_marginStart="8dip"
- android:background="@android:color/transparent"
- android:layout_alignParentStart="true"
- android:gravity="start"
- android:scaleType="centerCrop"/>
+ android:layout_marginLeft="16dp"
+ android:layout_width="24dp"
+ android:layout_height="24dp"
+ android:layout_gravity="center_vertical"
+ android:scaleType="fitCenter" />
+
<TextView android:id="@+id/app_name"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:gravity="center"
- android:textAppearance="?android:attr/textAppearanceLarge"
- android:textColor="?android:attr/textColorPrimary"
- android:layout_toEndOf="@id/app_icon"
- android:singleLine="true"
- android:layout_centerInParent="true"
- android:paddingEnd="16dip"
- android:paddingTop="3dip"
- android:paddingStart="16dip"
- android:ellipsize="end"/>
- <FrameLayout
- android:id="@+id/top_divider"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingTop="4dip"
- android:layout_below="@id/app_name">
- <ProgressBar
- android:id="@+id/progress_bar"
- style="?android:attr/progressBarStyleHorizontal"
- android:layout_width="match_parent"
- android:layout_height="wrap_content" />
- </FrameLayout>
+ android:layout_gravity="center_vertical"
+ android:layout_marginLeft="32dp"
+ android:layout_marginRight="16dp"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/titleTextStyle"
+ android:singleLine="true"
+ android:ellipsize="end" />
-</RelativeLayout>
+</LinearLayout>
diff --git a/res/layout/grant_permissions.xml b/res/layout/grant_permissions.xml
index 463f0ccd..860ef78d 100644
--- a/res/layout/grant_permissions.xml
+++ b/res/layout/grant_permissions.xml
@@ -17,71 +17,82 @@
<com.android.packageinstaller.permission.ui.ManualLayoutFrame
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
- android:layout_height="fill_parent" >
+ android:layout_height="fill_parent"
+ android:clipChildren="false"
+ android:paddingLeft="16dp"
+ android:paddingRight="16dp"
+ android:paddingTop="8dp"
+ android:paddingBottom="32dp"
+ android:clipToPadding="false">
<LinearLayout
android:id="@+id/dialog_container"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:paddingTop="24dip"
- android:paddingBottom="8dip"
- android:paddingStart="22dip"
- android:paddingEnd="16dip"
- android:orientation="vertical">
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:elevation="16dp"
+ android:background="@drawable/dialog_background">
<FrameLayout
android:id="@+id/desc_container"
android:layout_width="match_parent"
- android:layout_height="wrap_content" >
+ android:layout_height="wrap_content"
+ android:paddingTop="18dip"
+ android:paddingStart="20dip"
+ android:paddingEnd="16dip">
<include
layout="@layout/permission_description" />
</FrameLayout>
- <CheckBox
- android:id="@+id/do_not_ask_checkbox"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="16dip"
- android:text="@string/never_ask_again"
- style="?android:attr/textAppearanceSmall"
- android:visibility="gone">
- </CheckBox>
-
- <com.android.packageinstaller.permission.ui.ButtonBarLayout
- android:id="@+id/button_group"
+ <LinearLayout
android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="horizontal"
- android:paddingStart="2dip"
- android:paddingTop="16dip">
-
- <TextView
- android:id="@+id/current_page_text"
- android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:paddingStart="20dip"
+ android:paddingEnd="16dip">
+
+ <CheckBox
+ android:id="@+id/do_not_ask_checkbox"
+ android:layout_width="fill_parent"
android:layout_height="wrap_content"
- android:layout_gravity="start|bottom"
- android:paddingTop="4dp"
- android:paddingBottom="4dp"
- android:paddingEnd="12dp"
- android:singleLine="true"
+ android:layout_marginTop="8dp"
+ android:layout_marginBottom="-12dp"
+ android:minHeight="48dp"
+ android:text="@string/never_ask_again"
+ android:textColor="?android:attr/textColorPrimary"
style="?android:attr/textAppearanceSmall"
- android:textColor="?android:attr/textColorSecondary"
- android:visibility="invisible">
- </TextView>
-
- <Space
- android:id="@*android:id/spacer"
- android:layout_width="0dp"
- android:layout_height="0dp"
- android:layout_weight="1"
- android:visibility="invisible" >
- </Space>
-
- <LinearLayout
- android:layout_width="wrap_content"
+ android:visibility="gone">
+ </CheckBox>
+
+ <com.android.packageinstaller.permission.ui.ButtonBarLayout
+ android:id="@+id/button_group"
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_gravity="end"
- android:orientation="horizontal" >
+ android:orientation="horizontal"
+ android:paddingStart="6dip"
+ android:paddingTop="4dp"
+ android:paddingBottom="4dp"
+ android:gravity="bottom">
+
+ <TextView
+ android:id="@+id/current_page_text"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ android:paddingEnd="12dp"
+ android:singleLine="true"
+ style="?android:attr/textAppearanceSmall"
+ android:textColor="?android:attr/textColorSecondary"
+ android:visibility="invisible">
+ </TextView>
+
+ <Space
+ android:id="@*android:id/spacer"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:layout_weight="1"
+ android:visibility="invisible" >
+ </Space>
<Button
android:id="@+id/permission_deny_button"
@@ -91,18 +102,17 @@
android:text="@string/grant_dialog_button_deny" >
</Button>
- <Button
+ <com.android.packageinstaller.permission.ui.SecureButtonView
android:id="@+id/permission_allow_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:attr/buttonBarButtonStyle"
- android:layout_marginStart="8dip"
android:text="@string/grant_dialog_button_allow" >
- </Button>
+ </com.android.packageinstaller.permission.ui.SecureButtonView>
- </LinearLayout>
+ </com.android.packageinstaller.permission.ui.ButtonBarLayout>
- </com.android.packageinstaller.permission.ui.ButtonBarLayout>
+ </LinearLayout>
</LinearLayout>
diff --git a/res/layout/header.xml b/res/layout/header.xml
index f158e442..fa6515b8 100644
--- a/res/layout/header.xml
+++ b/res/layout/header.xml
@@ -47,7 +47,7 @@
android:minHeight="0dp"
android:minWidth="0dp"
android:scaleType="center"
- android:src="@drawable/ic_info"
+ android:src="@drawable/ic_info_outline"
style="?android:attr/borderlessButtonStyle" />
</RelativeLayout>
diff --git a/res/layout/install_confirm.xml b/res/layout/install_confirm.xml
deleted file mode 100644
index 72d5e377..00000000
--- a/res/layout/install_confirm.xml
+++ /dev/null
@@ -1,149 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2008 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<!--
-
- Defines the layout of the splash screen that displays the security
- settings required for an application and requests the confirmation of the
- user before it is installed.
--->
-
-<LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
-
- <TextView
- android:id="@+id/install_confirm_question"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:paddingStart="16dip"
- android:paddingEnd="16dip"
- android:text="@string/install_confirm_question"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:paddingTop="4dip" />
-
- <ImageView
- android:id="@+id/divider"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="16dp"
- android:background="?android:attr/dividerHorizontal"
- android:visibility="gone" />
-
- <FrameLayout
- android:id="@+id/filler"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:visibility="gone">
- </FrameLayout>
-
- <TabHost
- android:id="@android:id/tabhost"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_weight="1">
-
- <LinearLayout
- android:orientation="vertical"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
-
- <HorizontalScrollView android:id="@+id/tabscontainer"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:background="@*android:drawable/tab_unselected_holo"
- android:fillViewport="true"
- android:scrollbars="none">
- <FrameLayout android:layout_width="match_parent"
- android:layout_height="wrap_content">
- <TabWidget
- android:id="@android:id/tabs"
- android:orientation="horizontal"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center" />
- </FrameLayout>
- </HorizontalScrollView>
-
- <FrameLayout
- android:id="@android:id/tabcontent"
- android:layout_width="0dp"
- android:layout_height="0dp"
- android:layout_weight="0"/>
-
- <android.support.v4.view.ViewPager
- android:id="@+id/pager"
- android:layout_width="match_parent"
- android:layout_height="0dp"
- android:layout_weight="1"/>
-
- </LinearLayout>
- </TabHost>
-
- <!-- OK confirm and cancel buttons. -->
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical"
- android:divider="?android:attr/dividerHorizontal"
- android:showDividers="beginning">
-
- <LinearLayout
- style="?android:attr/buttonBarStyle"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:measureWithLargestChild="true">
-
- <LinearLayout android:id="@+id/leftSpacer"
- android:layout_weight="0.25"
- android:layout_width="0dip"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:visibility="gone" />
-
- <Button android:id="@+id/cancel_button"
- android:layout_width="0dip"
- android:layout_height="wrap_content"
- android:layout_gravity="start"
- android:layout_weight="1"
- android:text="@string/cancel"
- android:maxLines="2"
- style="?android:attr/buttonBarButtonStyle" />
-
- <Button android:id="@+id/ok_button"
- android:layout_width="0dip"
- android:layout_height="wrap_content"
- android:layout_gravity="end"
- android:layout_weight="1"
- android:text="@string/next"
- android:maxLines="2"
- android:filterTouchesWhenObscured="true"
- style="?android:attr/buttonBarButtonStyle" />
-
- <LinearLayout android:id="@+id/rightSpacer"
- android:layout_width="0dip"
- android:layout_weight="0.25"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:visibility="gone" />
-
- </LinearLayout>
- </LinearLayout>
-</LinearLayout>
diff --git a/res/layout/install_start.xml b/res/layout/install_start.xml
index 9acf1992..f8d839ff 100644
--- a/res/layout/install_start.xml
+++ b/res/layout/install_start.xml
@@ -14,24 +14,147 @@
limitations under the License.
-->
-<RelativeLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
+<!--
+ Defines the layout of the splash screen that displays the security
+ settings required for an application and requests the confirmation of the
+ user before it is installed.
+-->
- <include
- layout="@layout/app_details"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:id="@+id/app_snippet"/>
+ android:layout_height="match_parent"
+ android:orientation="vertical">
- <include
- layout="@layout/install_confirm"
- android:id="@+id/install_confirm_panel"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_below="@id/app_snippet"
- android:layout_alignParentBottom="true"/>
-</RelativeLayout>
+ <!-- title bar -->
+ <LinearLayout android:id="@+id/app_snippet"
+ android:background="?android:attr/colorPrimary"
+ android:layout_width="match_parent"
+ android:layout_height="?android:attr/actionBarSize"
+ android:orientation="horizontal">
+
+ <ImageView android:id="@+id/app_icon"
+ android:layout_marginLeft="16dp"
+ android:layout_width="24dp"
+ android:layout_height="24dp"
+ android:layout_gravity="center_vertical"
+ android:scaleType="fitCenter" />
+
+ <TextView android:id="@+id/app_name"
+ android:layout_gravity="center_vertical"
+ android:layout_marginLeft="32dp"
+ android:layout_marginRight="16dp"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/titleTextStyle"
+ android:singleLine="true"
+ android:ellipsize="end" />
+
+ </LinearLayout>
+
+ <!-- content -->
+ <LinearLayout android:id="@+id/install_confirm_panel"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+
+ <TextView android:id="@+id/install_confirm_question"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="?android:attr/colorPrimary"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:text="@string/install_confirm_question"
+ android:paddingLeft="16dp"
+ android:paddingRight="16dp" />
+
+ <View android:id="@+id/spacer"
+ android:layout_width="match_parent"
+ android:layout_height="16dp"
+ android:visibility="gone"
+ android:background="?android:attr/colorPrimary" />
+
+ <TabHost android:id="@android:id/tabhost"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_weight="1">
+
+ <LinearLayout android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <HorizontalScrollView android:id="@+id/tabscontainer"
+ android:background="?android:attr/colorPrimary"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:fillViewport="true"
+ android:scrollbars="none">
+
+ <FrameLayout android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+
+ <TabWidget android:id="@android:id/tabs"
+ android:orientation="horizontal"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center" />
+
+ </FrameLayout>
+
+ </HorizontalScrollView>
+
+ <!-- divider underneath tabs -->
+ <View android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:layout_marginTop="-1dp"
+ android:background="#1F000000" />
+
+ <FrameLayout android:id="@android:id/tabcontent"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:layout_weight="0" />
+
+ <android.support.v4.view.ViewPager android:id="@+id/pager"
+ android:background="?android:attr/windowBackground"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1" />
+
+ </LinearLayout>
+
+ </TabHost>
+
+ <!-- Bottom buttons -->
+ <LinearLayout style="?android:attr/buttonBarStyle"
+ android:background="?android:attr/windowBackground"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:padding="8dp"
+ android:measureWithLargestChild="true">
+
+ <!-- spacer to push buttons to the right -->
+ <View android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:layout_weight="1" />
+
+ <Button android:id="@+id/cancel_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/cancel"
+ android:maxLines="2"
+ style="?android:attr/buttonBarButtonStyle" />
+
+ <Button android:id="@+id/ok_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/next"
+ android:maxLines="2"
+ android:filterTouchesWhenObscured="true"
+ style="?android:attr/buttonBarButtonStyle" />
+
+ </LinearLayout>
+
+ </LinearLayout>
+
+</LinearLayout>
diff --git a/res/layout/label.xml b/res/layout/label.xml
index 8d176fb5..e1a51434 100644
--- a/res/layout/label.xml
+++ b/res/layout/label.xml
@@ -14,7 +14,9 @@
limitations under the License.
-->
-<TextView
- xmlns:android="http://schemas.android.com/apk/res/android"
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:textAppearance="?android:attr/textAppearanceMedium"
- android:gravity="center" />
+ android:gravity="center"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:padding="16dp"/>
diff --git a/res/layout/op_progress.xml b/res/layout/op_progress.xml
index 1c2cef53..e2125622 100644
--- a/res/layout/op_progress.xml
+++ b/res/layout/op_progress.xml
@@ -14,99 +14,103 @@
limitations under the License.
-->
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
- <!-- Launch and close buttons. -->
- <LinearLayout android:id="@+id/buttons_panel"
+
+ <include layout="@layout/app_details"
+ android:id="@+id/app_snippet" />
+
+ <LinearLayout android:id="@+id/center_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_alignParentBottom="true"
+ android:layout_weight="1"
+ android:gravity="center"
android:orientation="vertical"
- android:divider="?android:attr/dividerHorizontal"
- android:showDividers="beginning"
- android:paddingTop="16dip">
+ android:paddingLeft="16dip"
+ android:paddingRight="16dip">
- <LinearLayout
- style="?android:attr/buttonBarStyle"
- android:layout_width="match_parent"
+ <ImageView android:id="@+id/center_icon"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:measureWithLargestChild="true">
+ android:layout_marginBottom="12dp"
+ android:src="@drawable/ic_android_92"
+ android:contentDescription="@null" />
- <LinearLayout android:id="@+id/leftSpacer"
- android:layout_weight="0.25"
- android:layout_width="0dip"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:visibility="gone" />
+ <ProgressBar android:id="@+id/progress_bar"
+ android:layout_width="250dp"
+ android:layout_height="wrap_content"
+ android:indeterminate="true"
+ style="?android:attr/progressBarStyleHorizontal">
+ </ProgressBar>
- <Button android:id="@+id/done_button"
- android:layout_width="0dip"
- android:layout_height="wrap_content"
- android:layout_gravity="start"
- android:layout_weight="1"
- android:text="@string/done"
- android:maxLines="2"
- style="?android:attr/buttonBarButtonStyle" />
-
- <Button android:id="@+id/launch_button"
- android:layout_width="0dip"
- android:layout_height="wrap_content"
- android:layout_gravity="end"
- android:layout_weight="1"
- android:text="@string/launch"
- android:maxLines="2"
- style="?android:attr/buttonBarButtonStyle" />
-
- <LinearLayout android:id="@+id/rightSpacer"
- android:layout_width="0dip"
- android:layout_weight="0.25"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:visibility="gone" />
+ <TextView android:id="@+id/center_text"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:gravity="center_horizontal"
+ android:text="@string/installing"
+ android:textAppearance="?android:attr/textAppearanceMedium" />
- </LinearLayout>
</LinearLayout>
- <include
- layout="@layout/app_details"
- android:id="@+id/app_snippet"
+ <!-- This explanation text is shown only after the progress bar below goes away. -->
+ <ScrollView android:id="@+id/explanation_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_alignParentTop="true" />
+ android:layout_weight="1"
+ android:visibility="gone"
+ android:paddingLeft="16dip"
+ android:paddingRight="16dip">
- <TextView
- android:id="@+id/center_text"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_below="@id/app_snippet"
- android:gravity="start"
- android:text="@string/installing"
- android:paddingTop="16dip"
- android:paddingStart="32dip"
- android:paddingEnd="32dip"
- android:textAppearance="?android:attr/textAppearanceMedium" />
+ <LinearLayout android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
- <!-- This explanation text is shown only after the progress bar below goes away. -->
- <ScrollView
+ <TextView android:id="@+id/explanation_status"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="8dp"
+ android:textAppearance="?android:attr/textAppearanceMedium" />
+
+ <TextView android:id="@+id/explanation"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceSmall" />
+
+ </LinearLayout>
+
+ </ScrollView>
+
+ <LinearLayout android:id="@+id/buttons_panel"
+ style="?android:attr/buttonBarStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_above="@id/buttons_panel"
- android:layout_below="@id/center_text"
- android:paddingTop="8dip"
- android:paddingStart="16dip"
- android:paddingBottom="16dip">
- <TextView
- android:id="@+id/center_explanation"
- android:layout_width="match_parent"
+ android:orientation="horizontal"
+ android:measureWithLargestChild="true"
+ android:padding="8dip">
+
+ <!-- spacer to push buttons to the right -->
+ <View android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:layout_weight="1" />
+
+ <Button android:id="@+id/done_button"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:gravity="center_horizontal"
- android:visibility="gone"
- android:textAppearance="?android:attr/textAppearanceSmall"/>
- </ScrollView>
+ android:text="@string/done"
+ android:maxLines="2"
+ style="?android:attr/buttonBarButtonStyle" />
+
+ <Button android:id="@+id/launch_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/launch"
+ android:maxLines="2"
+ style="?android:attr/buttonBarButtonStyle" />
+
+ </LinearLayout>
-</RelativeLayout>
+</LinearLayout>
diff --git a/res/layout/permission_description.xml b/res/layout/permission_description.xml
index 2a00e9bf..46b0e7cb 100644
--- a/res/layout/permission_description.xml
+++ b/res/layout/permission_description.xml
@@ -24,7 +24,6 @@
android:id="@+id/permission_icon"
android:layout_width="36dip"
android:layout_height="36dip"
- android:layout_marginTop="3dp"
android:tint="?android:attr/colorAccent"
android:scaleType="fitCenter" >
</ImageView>
@@ -33,11 +32,9 @@
android:id="@+id/permission_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_toRightOf="@id/permission_icon"
- android:layout_marginTop="3dp"
android:paddingStart="16dip"
- android:paddingEnd="8dip"
- style="?android:attr/textAppearanceMedium">
+ android:textSize="20sp"
+ style="@android:style/TextAppearance.Material.Subhead">
</TextView>
</LinearLayout>
diff --git a/res/layout/review_permissions.xml b/res/layout/review_permissions.xml
new file mode 100644
index 00000000..462f9a54
--- /dev/null
+++ b/res/layout/review_permissions.xml
@@ -0,0 +1,90 @@
+<?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"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:layout_marginTop="32dip"
+ android:layout_marginBottom="8dip"
+ android:orientation="vertical">
+
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="16dip"
+ android:layout_marginEnd="16dip"
+ android:orientation="horizontal">
+
+ <ImageView
+ android:id="@+id/app_icon"
+ android:layout_width="36dip"
+ android:layout_height="36dip"
+ android:tint="?android:attr/colorAccent"
+ android:scaleType="fitCenter">
+ </ImageView>
+
+ <TextView
+ android:id="@+id/permissions_message"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="16dip"
+ style="?android:attr/textAppearanceMedium">
+ </TextView>
+
+ </LinearLayout>
+
+ <FrameLayout
+ android:id="@+id/preferences_frame"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:layout_marginStart="2dip"
+ android:layout_marginEnd="2dip"
+ android:layout_weight="1">
+ </FrameLayout>
+
+ <com.android.internal.widget.ButtonBarLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:paddingStart="2dip"
+ android:paddingTop="16dip">
+
+ <Space
+ android:id="@*android:id/spacer"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:layout_weight="1"
+ android:visibility="invisible" />
+
+ <Button
+ android:id="@+id/cancel_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ style="?android:attr/buttonBarButtonStyle"
+ android:text="@string/review_button_cancel" />
+
+ <Button
+ android:id="@+id/continue_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ style="?android:attr/buttonBarButtonStyle"
+ android:layout_marginStart="8dip"
+ android:text="@string/review_button_continue" />
+
+ </com.android.internal.widget.ButtonBarLayout>
+
+</LinearLayout>
diff --git a/res/layout/uninstall_confirm.xml b/res/layout/uninstall_confirm.xml
index 78270f60..4c817716 100644
--- a/res/layout/uninstall_confirm.xml
+++ b/res/layout/uninstall_confirm.xml
@@ -51,6 +51,20 @@
layout="@layout/app_details"
android:id="@+id/uninstall_activity_snippet" />
+ <FrameLayout
+ android:id="@+id/top_divider"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingTop="4dip"
+ android:paddingStart="16dip"
+ android:paddingEnd="16dip" >
+ <ProgressBar
+ android:id="@+id/progress_bar"
+ style="?android:attr/progressBarStyleHorizontal"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" />
+ </FrameLayout>
+
<!-- uninstall application confirmation text -->
<TextView
android:id="@+id/uninstall_confirm"
diff --git a/res/layout/uninstall_progress.xml b/res/layout/uninstall_progress.xml
index ff80fe11..cc12408f 100644
--- a/res/layout/uninstall_progress.xml
+++ b/res/layout/uninstall_progress.xml
@@ -14,97 +14,95 @@
limitations under the License.
-->
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
- <!-- Button bar with OK button -->
- <LinearLayout android:id="@+id/ok_panel"
+ <include layout="@layout/app_details"
+ android:id="@+id/app_snippet"/>
+
+ <LinearLayout android:id="@+id/progress_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_alignParentBottom="true"
+ android:layout_weight="1"
+ android:gravity="center"
android:orientation="vertical"
- android:divider="?android:attr/dividerHorizontal"
- android:showDividers="beginning"
- android:paddingTop="16dip">
+ android:padding="16dp">
- <LinearLayout
- style="?android:attr/buttonBarStyle"
- android:layout_width="match_parent"
+ <ImageView android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="12dp"
+ android:src="@drawable/ic_android_92"
+ android:contentDescription="@null" />
+
+ <ProgressBar android:id="@+id/progress_bar"
+ android:layout_width="250dp"
+ android:layout_height="wrap_content"
+ android:indeterminate="true"
+ style="?android:attr/progressBarStyleHorizontal">
+ </ProgressBar>
+
+ <TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:measureWithLargestChild="true">
-
- <LinearLayout android:id="@+id/leftSpacer"
- android:layout_weight="0.5"
- android:layout_width="0dip"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:visibility="gone" />
-
- <Button android:id="@+id/ok_button"
- android:layout_width="0dip"
- android:layout_height="wrap_content"
- android:layout_gravity="center_horizontal"
- android:layout_weight="1"
- android:text="@string/ok"
- android:maxLines="2"
- style="?android:attr/buttonBarButtonStyle" />
-
- <LinearLayout android:id="@+id/rightSpacer"
- android:layout_width="0dip"
- android:layout_weight="0.5"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:visibility="gone" />
-
- </LinearLayout>
+ android:gravity="center_horizontal"
+ android:text="@string/uninstalling"
+ android:textAppearance="?android:attr/textAppearanceMedium" />
+
</LinearLayout>
- <include
- layout="@layout/app_details"
- android:id="@+id/app_snippet"
- android:layout_height="wrap_content"
+ <!-- Status view is shown after progress view is removed -->
+ <ScrollView android:id="@+id/status_view"
android:layout_width="match_parent"
- android:layout_alignParentTop="true" />
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:visibility="gone"
+ android:padding="16dp">
- <LinearLayout
- android:id="@+id/uninstall_holder"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_above="@id/ok_panel"
- android:layout_below="@id/app_snippet"
- android:orientation="vertical">
-
- <ScrollView
- android:id="@+id/uninstalling_scrollview"
+ <TextView android:id="@+id/status_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_alignParentTop="true"
- android:paddingStart="24dip"
- android:paddingEnd="24dip"
- android:paddingTop="8dip"
- android:paddingBottom="8dip"
- android:fillViewport="false">
-
- <TextView
- android:id="@+id/center_text"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:gravity="start"
- android:text="@string/uninstalling"
- android:textAppearance="?android:attr/textAppearanceMedium"/>
- </ScrollView>
+ android:gravity="start"
+ android:textAppearance="?android:attr/textAppearanceMedium"/>
+ </ScrollView>
+
+ <LinearLayout android:id="@+id/ok_panel"
+ style="?android:attr/buttonBarStyle"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:measureWithLargestChild="true"
+ android:visibility="gone"
+ android:padding="8dip">
+
+ <!-- spacer to push buttons to the right -->
+ <View android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:layout_weight="1" />
<Button android:id="@+id/device_manager_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_gravity="center_horizontal"
android:visibility="gone"
+ android:text="@string/manage_device_administrators"
android:maxLines="2"
- android:text="@string/manage_device_administrators" />
-
+ style="?android:attr/buttonBarButtonStyle" />
+
+ <Button android:id="@+id/users_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:visibility="gone"
+ android:text="@string/manage_users"
+ android:maxLines="2"
+ style="?android:attr/buttonBarButtonStyle" />
+
+ <Button android:id="@+id/ok_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/ok"
+ android:maxLines="2"
+ style="?android:attr/buttonBarButtonStyle" />
+
</LinearLayout>
-</RelativeLayout>
+</LinearLayout>
diff --git a/res/values-af-television/strings.xml b/res/values-af-television/strings.xml
index 9b4b6238..b798b951 100644
--- a/res/values-af-television/strings.xml
+++ b/res/values-af-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Jy kan dit later verander in Instellings &gt; Programme"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Wys stelselprogramme"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Programtoestemmings"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Programtoestemmings"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> toestemmings"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Bykomende toestemmings"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> toestemmings"</string>
</resources>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 635c28b3..71b6d5e0 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Wil jy \'n opdatering na hierdie bestaande program installeer? Jou bestaande data sal nie verlore raak nie. Dit vereis nie enige spesiale toegang nie."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Wil jy \'n opdatering na hierdie ingeboude program installeer? Jou bestaande data sal nie verlore raak nie. Dit vereis nie enige spesiale toegang nie."</string>
<string name="install_failed" msgid="6579998651498970899">"Program nie geïnstalleer nie."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Die installering van die pakket is geblokkeer."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Die pakket bots met \'n bestaande pakket met dieselfde naam."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Hierdie program is nie met jou tablet versoenbaar nie."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Hierdie program is nie met jou TV versoenbaar nie."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Hierdie program is nie met jou foon versoenbaar nie."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Dit lyk asof die pakket korrup is."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"\'n Bestaande pakket met dieselfde naam en \'n botsende handtekening is reeds geïnstalleer."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Die pakket werk net op jonger weergawes van Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Hierdie program werk nie op jou tablet nie."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Hierdie program is nie met jou TV versoenbaar nie."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Hierdie program werk nie op jou foon nie."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Die gespesifiseerde pakkie is uitgevee voordat installasie voltooi kon word."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Die pakkie het nie verifikasie geslaag nie en kan nie geïnstalleer word nie."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"\'n Uittel het plaasgevind tydens verifiëring van hierdie pakket. Probeer dit later weer installeer."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> kon nie op jou tablet geïnstalleer word nie."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> kon nie op jou TV geïnstalleer word nie."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g> kon nie op jou foon geïnstalleer word nie."</string>
<string name="launch" msgid="4826921505917605463">"Open"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Installering geblokkeer"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Om veiligheidsredes, is jou tablet gestel om installering van programme van onbekende bronne te blokkeer."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Jou TV is vir veiligheid gestel om te keer dat programme van onbekende bronne af geïnstalleer word."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Om veiligheidsredes, is jou foon gestel om installering van programme van onbekende bronne te blokkeer."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Jou administrateur laat nie toe dat programme van onbekende bronne af geïnstalleer word nie."</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"Instellings"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Nuwe bron vir programme"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> wil ander programme installeer. \n\n Laat dit nou en in die toekoms toe?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Bestuur programme"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Vervang program?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Die program wat jy installeer, sal \'n ander program vervang.\n\nAl jou vorige gebruikerdata sal gestoor word."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Wil jy hierdie program deïnstalleer?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Wil jy hierdie program vir "<b>"alle"</b>" gebruikers deïnstalleer? Die program en sy data sal vir "<b>"alle"</b>" gebruikers op hierdie toestel verwyder word."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Wil jy hierdie program vir die gebruiker <xliff:g id="USERNAME">%1$s</xliff:g> deïnstalleer?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Wil jy hierdie program vervang met die fabrieksweergawe?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Vervang hierdie program met die fabriekweergawe? Alle data sal verwyder word."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Vervang hierdie program met die fabriekweergawe? Alle data sal verwyder word. Dit beïnvloed alle gebruikers van hierdie toestel, insluitend dié met werkprofiele."</string>
<string name="uninstalling" msgid="5556217435895938250">"Deïnstalleer tans…"</string>
<string name="uninstall_done" msgid="3792487853420281888">"Deïnstallering klaar."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Deïnstallasie onsuksesvol."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Kan nie deïnstalleer nie omdat hierdie pakket \'n aktiewe toesteladministrateur is."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Kan nie deïnstalleer nie, omdat hierdie pakket \'n aktiewe toesteladministrateur vir die gebruiker <xliff:g id="USERNAME">%1$s</xliff:g> is."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Hierdie program is nodig vir jou werkprofiel en kan nie gedeïnstalleer word nie."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Dié program word vereis vir sommige gebruikers of profiele en is vir ander gedeïnstalleer"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Hierdie program is nodig vir jou profiel en kan nie gedeïnstalleer word nie."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Jou toesteladministrateur vereis die program; dit kan nie deïnstalleer word nie."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Bestuur toesteladministrateurs"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Bestuur gebruikers"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> kon nie deïnstalleer word nie."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Ontledingsfout"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Kon nie die pakket ontleed nie."</string>
<string name="newPerms" msgid="6039428254474104210">"Nuut"</string>
<string name="allPerms" msgid="1024385515840703981">"Alle"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Toesteltoegang"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Hierdie opdatering vereis geen nuwe toestemmings nie."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Wil jy die volgende toestemmings toestaan? Dit sal toegang kry tot:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Laat toe"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Weier"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Weier in elk geval"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> van <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Laat <xliff:g id="APP_NAME">%1$s</xliff:g> toe om <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Laat &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toe om <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Laat toe"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Programme"</string>
<string name="app_permissions" msgid="3146758905824597178">"Programtoestemmings"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Moet nooit weer vra nie"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Moenie weer vra nie"</string>
<string name="no_permissions" msgid="3210542466245591574">"Geen toestemmings nie"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Bykomende toestemmings"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Om hierdie toestemminginstelling te verander, moet jy eers die skermoorlegger by Instellings &gt; Programme afskakel"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Maak instellings oop"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Installeer- en deïnstalleerhandelinge word nie in Wear gesteun nie."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Installeer- en deïnstalleerhandelinge word nie in Wear gesteun nie."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> is opgedateer. Laat <xliff:g id="APP_NAME_1">%1$s</xliff:g> toegang tot die volgende kry?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Kies waarby <xliff:g id="APP_NAME">%1$s</xliff:g> mag ingaan"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> is opgedateer. Kies waarby hierdie program mag ingaan."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Kanselleer"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Gaan voort"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Nuwe toestemmings"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Huidige toestemmings"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Voer tans program uit …"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Onbekend"</string>
</resources>
diff --git a/res/values-am-television/strings.xml b/res/values-am-television/strings.xml
index 5beefbce..e4f23c1b 100644
--- a/res/values-am-television/strings.xml
+++ b/res/values-am-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"ይሄንን በኋላ ላይ በቅንብሮችና መተግበሪያዎች ውስጥ ሊቀይሩት ይችላሉ"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"የስርዓት መተግበሪያዎችን አሳይ"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"የመተግበሪያ ፈቃዶች"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"የመተግበሪያ ፈቃዶች"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> ፈቃዶች"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"ተጨማሪ ፈቃዶች"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> ፈቃዶች"</string>
</resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 0b0396fa..e3bca1ff 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"ለዚህ ነባር መተግበሪያ ዝማኔ መጫን ይፈልጋሉ? ነባር ውሂብዎ አይጠፉም። ምንም የተለየ መዳረሻ አይፈልግም።"</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"ለዚህ አብሮ ለተሰራ መተግበሪያ ዝማኔ መጫን ይፈልጋሉ? ነባር ውሂብዎ አይጠፉም። ምንም የተለየ መዳረሻ አይፈልግም።"</string>
<string name="install_failed" msgid="6579998651498970899">"ትግበራ አልተጫነም።"</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"ጥቅሉ እንዳይጫን ታግዷል።"</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"ጥቅሉ ተመሳሳይ ስም ካለው ነባር ጥቅል ጋር ይጋጫል።"</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"ይሄ መተግበሪያ ከእርስዎ ጡባዊ ጋር ተኳኋኝ አይደለም።"</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"ይሄ መተግበሪያ ከእርስዎ ቴሌቪዥን ጋር ተኳሃኝ አይደለም።"</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"ይሄ መተግበሪያ ከእርስዎ ስልክ ጋር ተኳኋኝ አይደለም።"</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"ፓኬጁ ብልሹ ሆኖ ተገኝቷል።"</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"በተመሳሳይ ስም ያለፓኬጅ በሚያምታታ ፊርማ አስቀድሞ ተጭኗል።"</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"ፓኬጁ በአዲሱ የAndroid ሥሪቶች ላይ ብቻ ይሰራል።"</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"ይህ ትግበራ ከእርስዎ ጡባዊ ተኮ ጋር ተኳኋኝ አይደለም።"</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"ይህ መተግበሪያ ከእርስዎ ቴሌቪዥን ጋር ተኳሃኝ አይደለም።"</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"ይህ ትግበራ ከአንተ ስልክ ጋር ተኳኋኝ አይደለም፡፡"</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"የተጠቀሰው ፓኬጅ ጫን መጠናቀቅ ከመቻሉ በፊት ተሰርዞ ነበር።"</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"ፓኬጁ ማረጋገጫውን አላለፈም እና መጫን አይችልም።"</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"ይህን እሽግ በማረጋገጥ ወቅት ጊዜ ማብቃት ችግር አጋጥሟል:: በኋላ ላይ እንደገና ለመጫን ሞክር::"</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> በዚህ ስልክ ላይ መጫን አልተቻለም።"</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> በእርስዎ ቴሌቪዥን ላይ ሊጫን አልቻለም።"</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g>በዚህ ስልክ ላይ መጫን አልተቻለም።"</string>
<string name="launch" msgid="4826921505917605463">"ክፈት"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"ጫን ታግዷል"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"ለደህንነት ሲባል ጡባዊ ቱኮህ ካልታወቁ ምንጮች የመጡ መተግበሪያዎች እንዳይጭን ታግዷል።"</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"ለደህንነት ሲባል የእርስዎ ቴሌቪዥን ካልታወቁ ምንጮች የመጡ መተግበሪያዎችን እንዳጫኑ እንዲያግድ ተዋቅሯል።"</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"ለደህንነት ሲባል ስልክዎ ከአልታወቁ ምንጮች የመጡ መተግበሪያዎች እንዳይጭን ታግዷል።"</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"የእርስዎ አስተዳዳሪ ካልታወቁ ምንጮች የመጡ መተግበሪያዎች እንዲጫኑ አይፈቅዱም።"</string>
<string name="ok" msgid="3468756155452870475">"እሺ"</string>
<string name="settings" msgid="6743583734099755409">"ቅንብሮች"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"ለትግበራዎች አዲስ ምንጭ"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> ሌሎች መተግበሪያዎች ለመጫን ይፈልጋል።\n\n ይህን ለአሁን እና ለወደፊት ይፈቀድ?"</string>
<string name="manage_applications" msgid="4033876279091996596">"መተግበሪያዎች አስተዳድር"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"መተግበሪያ ይለውጥ?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"እየጫኑት ያለው መተግበሪያ ሌላ መተግበሪያን ይለውጣል። \n\nሁሉም የቀድሞ የተጠቃሚ ውሂብዎ ይቀመጣል።"</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"ይሄን መተግበሪያ ማራገፍ ይፈልጋሉ?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"ይህን መተግበሪያ "<b>"ለሁሉም"</b>" ተጠቃሚዎች መጫን ይፈልጋሉ? መተግበሪያው እና ውሂቡ በመሣሪያው ላይ ካሉ "<b>"ሁሉም"</b>" ተጠቃሚዎች ይሰረዛሉ።"</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"ይህን መተግበሪያ ለተጠቃሚ <xliff:g id="USERNAME">%1$s</xliff:g> ማራገፍ ይፈልጋሉ?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"ከፋብሪካ ስሪት ጋር ይሄን መተግበሪያ መለወጥ ትፈልጋለህ?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"ይህ መተግበሪያ በፋብሪክው ስሪት ይተካ? ሁሉም ውሂብ ይወገዳል።"</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"ይህ መተግበሪያ በፋብሪክው ስሪት ይተካ? ሁሉም ውሂብ ይወገዳል። እነዚያን የሥራ መገለጫዎች ያላቸውን ጨምሮ ሁሉንም በዚህ መሣሪያ ላይ ባሉ ተጠቃሚዎች ላይ ተጽዕኖ ያሳርፍባቸዋል።"</string>
<string name="uninstalling" msgid="5556217435895938250">"ባለመጫንላይ"</string>
<string name="uninstall_done" msgid="3792487853420281888">"አራግፍ ተጠናቋል"</string>
<string name="uninstall_failed" msgid="631122574306299512">"ማራገፍ አልተሳካም፡፡"</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"ማራገፍ አልተቻለም፡ ይህ ፓኬጅ የገባሪ መሣሪያ አስተዳዳሪ ነው።"</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"ይህ ጥቅል የተጠቃሚ <xliff:g id="USERNAME">%1$s</xliff:g> ገቢር መሣሪያ አስተዳዳሪ ስለሆነ ማራገፍ አይቻልም።"</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"ይህ መተግበሪያ ለስራ መገለጫዎ የሚያስፈልግ ሲሆን ሊራገፍ አይችልም።"</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"ይህ መተግበሪያ ለአንዳንድ ተጠቃሚዎች ወይም መገለጫዎች ያስፈልጋል እና ለሌሎች ተራግፏል"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"ይህ መተግበሪያ ለእርስዎ መገለጫዎ ያስፈልጋል እና ሊራገፍ አይችልም።"</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"ይህ መተግበሪያ በመሣሪያዎ አስተዳዳሪ የሚፈለግ እና ሊራገፍ የማይችል ነው።"</string>
<string name="manage_device_administrators" msgid="891392489300312370">"የመሣሪያ አስተዳዳሪዎችን አደራጅ"</string>
+ <string name="manage_users" msgid="3125018886835668847">"ተጠቃሚዎችን ያስተዳድሩ"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g>ማራገፍ አልተቻለም"</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"ስህተት ተንትን"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"አካታቹን መተንተን ችግር ነበረ።"</string>
<string name="newPerms" msgid="6039428254474104210">"አዲስ"</string>
<string name="allPerms" msgid="1024385515840703981">"ሁሉም"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"የመሳሪያ መዳረሻ"</string>
<string name="no_new_perms" msgid="6657813692169565975">"ይህ ዝማኔ ምንም አዲስ ፈቃድ አያስፈልገውም።"</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"የሚከተሉት ፍቃዶችን መስጠት ይፈልጋሉ? የእነዚህ መዳረሻዎችን ይሰጣል፦"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"ፍቀድ"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"ከልክል"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"ለማንኛውም ከልክል"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> ከ<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"<xliff:g id="APP_NAME">%1$s</xliff:g> መተግበሪያ <xliff:g id="ACTION">%2$s</xliff:g> እንዲያደርግ ይፈቀድለት?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; <xliff:g id="ACTION">%2$s</xliff:g> እንዲያደርግ ይፈቀድለት?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"ፍቀድ"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"መተግበሪያዎች"</string>
<string name="app_permissions" msgid="3146758905824597178">"የመተግበሪያ ፈቃዶች"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"ሁለተኛ እንዳትጠይቅ"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"ዳግም አትጠይቅ"</string>
<string name="no_permissions" msgid="3210542466245591574">"ምንም ፍቃዶች የሉም"</string>
<string name="additional_permissions" msgid="6667573114240111763">"ተጨማሪ ፈቃዶች"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"ይህን የፍቃድ ቅንብር ለመቀየር መጀመሪያ የማያ ገጽ ተደራቢውን ከቅንብሮች &gt; መተግበሪያዎች ማጥፋት አለብዎ"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"ቅንብሮችን ክፈት"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"በWear ላይ የመጫን/ማራገፍ እርምጃዎች አይደገፉም።"</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"በWear ላይ የመጫን/ማራገፍ እርምጃዎች አይደገፉም።"</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> ተዘምኗል። <xliff:g id="APP_NAME_1">%1$s</xliff:g> የሚከተለው እንዲደርስ ይፍቀዱ?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"<xliff:g id="APP_NAME">%1$s</xliff:g> ምን መድረስ እንደሚችል ይምረጡ"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> ተዘምኗል። ይህ መተግበሪያ ምን መድረስ እንደሚችል ይምረጡ።"</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"ይቅር"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"ቀጥል"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"አዲስ ፍቃዶች"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"የአሁኖቹ ፍቃዶች"</string>
+ <string name="message_staging" msgid="6151794817691100003">"መተግበሪያን በማዘጋጀት ላይ…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"ያልታወቀ"</string>
</resources>
diff --git a/res/values-ar-television/strings.xml b/res/values-ar-television/strings.xml
index 98a9d8fa..9297b889 100644
--- a/res/values-ar-television/strings.xml
+++ b/res/values-ar-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"‏يمكنك تغيير ذلك لاحقًا من خلال الإعدادات &gt; التطبيقات"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"عرض تطبيقات النظام"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"أذونات التطبيق"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"أذونات التطبيق"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"أذونات <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"أذونات إضافية"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"أذونات <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 788cd44b..8c49138d 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"هل تريد تثبيت تحديث لهذا التطبيق الحالي؟ لن يتم فقد بياناتك الحالية. كما أنه لا يتطلب أي دخول خاص."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"هل تريد تثبيت تحديث لهذا التطبيق المضمن؟ لن يتم فقد بياناتك الحالية. كما أنه لا يتطلب أي دخول خاص."</string>
<string name="install_failed" msgid="6579998651498970899">"التطبيق ليس مثبتًا."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"تم حظر تثبيت الحزمة."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"تتعارض الحزمة مع حزمة حالية تحمل الاسم نفسه."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"هذا التطبيق ليس متوافقً مع جهازك اللوحي."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"هذا التطبيق لا يتوافق مع جهاز التلفزيون."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"لا يتوافق هذا التطبيق مع هاتفك."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"يبدو أن الحزمة تالفة."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"هناك حزمة حالية ذات توقيع متضارب، تم تثبيتها من قبل بالاسم نفسه."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"‏تعمل الحزمة فقط على إصدارات أحدث من Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"هذا التطبيق ليس متوافقًا مع جهازك اللوحي."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"هذا التطبيق لا يتوافق مع جهاز التلفزيون."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"لا يتوافق هذا التطبيق مع هاتفك."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"تم حذف الحزمة المحددة قبل اكتمال عملية التثبيت."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"لم تتجاوز هذه الحزمة عملية التحقق ولا يمكن تثبيتها."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"حدثت مهلة أثناء محاولة التحقق من هذه الحزمة. الرجاء محاولة إعادة تثبيتها لاحقًا."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"تعذر تثبيت <xliff:g id="APP_NAME">%1$s</xliff:g> على جهازك اللوحي."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"تعذر تثبيت <xliff:g id="APP_NAME">%1$s</xliff:g> على جهاز التلفزيون."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"تعذر تثبيت <xliff:g id="APP_NAME">%1$s</xliff:g> على هاتفك."</string>
<string name="launch" msgid="4826921505917605463">"فتح"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"التثبيت محظور"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"لدواعي الأمان، تم تعيين جهازك اللوحي لحظر تثبيت التطبيقات التي تم الحصول عليها من مصادر غير معروفة."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"لأغراض الأمان، تم تعيين التلفزيون على حظر تثبيت التطبيقات التي يتم الحصول عليها من مصادر غير معروفة."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"لدواعي الأمان، تم تعيين هاتفك على حظر تثبيت التطبيقات التي تم الحصول عليها من مصادر غير معروفة."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"لا يسمح المشرف بتثبيت التطبيقات التي يتم الحصول عليها من مصادر غير معروفة."</string>
<string name="ok" msgid="3468756155452870475">"موافق"</string>
<string name="settings" msgid="6743583734099755409">"الإعدادات"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"مصدر جديد للتطبيقات"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"يريد <xliff:g id="APP_NAME">%1$s</xliff:g> تثبيت تطبيق آخر.\n\nهل تريد السماح بذلك الآن وفي المستقبل؟"</string>
<string name="manage_applications" msgid="4033876279091996596">"إدارة التطبيقات"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"هل تريد استبدال التطبيق؟"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"سيحل التطبيق الذي تثبته الآن محل تطبيق آخر.\n\nسيتم حفظ جميع بيانات المستخدم السابقة."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"هل تريد إزالة هذا التطبيق؟"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"هل تريد إزالة هذا التطبيق "<b>"لكل"</b>" المستخدمين؟ ستتم إزالة التطبيق وبياناته من "<b>"كل"</b>" المستخدمين على هذا الجهاز."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"هل تريد إزالة هذا التطبيق للمستخدم <xliff:g id="USERNAME">%1$s</xliff:g>؟"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"هل تريد استبدال هذا التطبيق بإصدار المصنع؟"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"هل تريد استبدال هذا التطبيق بإصدار المصنع؟ ستتم إزالة جميع البيانات."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"هل تريد استبدال هذا التطبيق بإصدار المصنع؟ ستتم إزالة جميع البيانات. وسيؤثر هذا في جميع مستخدمي هذا الجهاز، بما في ذلك من لديهم ملفات شخصية للعمل."</string>
<string name="uninstalling" msgid="5556217435895938250">"جارٍ الإزالة..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"انتهت الإزالة."</string>
<string name="uninstall_failed" msgid="631122574306299512">"أخفق إلغاء التثبيت."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"تتعذر الإزالة نظرًا لأن هذه الحزمة تمثل مشرفًا نشطًا للجهاز."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"لا يمكن الإزالة لأن هذه الحزمة تعد مشرف جهاز نشطًا للمستخدم <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"هذا التطبيق مطلوب لملفك الشخصي للعمل ولا يمكن إزالته."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"هذا التطبيق مطلوب لبعض المستخدمين أو الملفات الشخصية وتم إلغاء تثبيته لآخرين."</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"هذا التطبيق مطلوب لملفك الشخصي ولا يمكن إلغاء تثبيته."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"مشرف الجهاز يحتاج إلى هذا التطبيق ولا يمكن إزالته."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"إدارة مشرفي الجهاز"</string>
+ <string name="manage_users" msgid="3125018886835668847">"إدارة حسابات المستخدمين"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"تعذرت إزالة <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"خطأ في التحليل"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"حدثت مشكلة أثناء تحليل الحزمة."</string>
<string name="newPerms" msgid="6039428254474104210">"جديد"</string>
<string name="allPerms" msgid="1024385515840703981">"الكل"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"الدخول إلى الجهاز"</string>
<string name="no_new_perms" msgid="6657813692169565975">"لا يتطلب هذا التحديث أي أذونات جديدة."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"هل ترغب في منح الأذونات التالية؟ علمًا بأنها تتيح الدخول إلى:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"سماح"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"رفض"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"الرفض على أي حال"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> من <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"هل تريد السماح لتطبيق <xliff:g id="APP_NAME">%1$s</xliff:g> بإجراء <xliff:g id="ACTION">%2$s</xliff:g>؟"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"‏هل تريد السماح لـ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; بإجراء <xliff:g id="ACTION">%2$s</xliff:g>؟"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"سماح"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"التطبيقات"</string>
<string name="app_permissions" msgid="3146758905824597178">"أذونات التطبيق"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"عدم السؤال مرة أخرى"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"عدم السؤال مرة أخرى"</string>
<string name="no_permissions" msgid="3210542466245591574">"ليست هناك أذونات"</string>
<string name="additional_permissions" msgid="6667573114240111763">"أذونات إضافية"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -123,5 +120,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"لتغيير إعداد هذا الإذن، يتعين عليك أولاً تعطيل الطبقة المتراكبة للشاشة من الإعدادات &gt; التطبيقات"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"فتح الإعدادات"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"‏لا تتوافق إجراءات التثبيت/إلغاء التثبيت مع Wear."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"‏لا تتوافق إجراءات التثبيت/إلغاء التثبيت مع نظام Android Wear."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"تم تحديث <xliff:g id="APP_NAME_0">%1$s</xliff:g>. هل تريد السماح لتطبيق <xliff:g id="APP_NAME_1">%1$s</xliff:g> بالوصول إلى ما يلي؟"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"اختيار ما تريد السماح لتطبيق <xliff:g id="APP_NAME">%1$s</xliff:g> بالوصول إليه"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"تم تحديث <xliff:g id="APP_NAME">%1$s</xliff:g>. اختر ما تريد السماح لهذا التطبيق بالوصول إليه."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"إلغاء"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"متابعة"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"الأذونات الجديدة"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"الأذونات الحالية"</string>
+ <string name="message_staging" msgid="6151794817691100003">"جارٍ الطرح المرحلي للتطبيق…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"غير معروف"</string>
</resources>
diff --git a/res/values-az-rAZ-television/strings.xml b/res/values-az-rAZ-television/strings.xml
index 09bd6a9d..92fa5270 100644
--- a/res/values-az-rAZ-television/strings.xml
+++ b/res/values-az-rAZ-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Bunu sonra Ayarlar vəTətbiqlər bölməsindən dəyişə bilərsiniz"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Sistem tətbiqlərini göstərin"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Tətbiq icazələri"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Tətbiq icazələri"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> icazələri"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Əlavə icazələr"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> icazələri"</string>
</resources>
diff --git a/res/values-az-rAZ/strings.xml b/res/values-az-rAZ/strings.xml
index d1c9e238..1db456c9 100644
--- a/res/values-az-rAZ/strings.xml
+++ b/res/values-az-rAZ/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Bu cari tətbiq güncəllənməsini quraşdırmaq istəyirsiniz? Hazırki datanız itməyəcək. O, xüsusi giriş tələb etmir."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Bu daxili tətbiq güncəllənməsini quraşdırmaq istəyirsiniz? Hazırki datanız itməyəcək. O, xüsusi giriş tələb etmir."</string>
<string name="install_failed" msgid="6579998651498970899">"Tətbiq quraşdırılmayıb."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Paket yüklənməyə qarşı blok edildi."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Paket mövcud eyni adlı paket ilə ziddiyət təşkil edir."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Bu tətbiq planşetinizə uyğun deyil."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Bu proqram TV-nizlə uyğun gəlmir."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Bu tətbiq telefonunuza uyğun deyil."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Bu paket zədələnmiş kimi görünür."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Ziddiyyətli imzaya malik eyni adlı cari paket artıq quraşdırılıb."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Bu paket yalnız yeni Android versiyasında işləyir."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Bu tətbiq planşetinizə uyğun deyil."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Bu proqram TV-nizlə uyğun gəlmir."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Bu tətbiq telefonunuza uyğun deyil."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Göstərilən paket quraşdırılma tamamlanmadan silindi."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Paket yoxlamanı keçə bilmədi və quraşdırılmadı."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Paketi yoxlayarkən uzun fasilə oldu. Quraşdırmanı daha sonra bir daha yoxlayın."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> planşetinizə yüklənə bilmədi."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> proqramını TV-nizdə quraşdırmaq mümkün olmadı."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g> telefonunuza quraşdırıla bilmədi."</string>
<string name="launch" msgid="4826921505917605463">"Aç"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Quraşdırılma blok edilib"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Təhlükəsizlik məqsədilə planşetiniz naməlum mənbələrdən əldə edilmiş tətbiq quraşdırılmasının qarşısını alıb."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Təhlükəsizlik üçün TV-niz naməlum mənbələrdən əldə olunan proqramların quraşdırılmasını bloklamağa təyin olunub."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Təhlükəsizlik məqsədilə telefonunuz naməlum mənbələrdən əldə edilmiş tətbiq quraşdırılmasının qarşısını alıb."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Naməlum mənbələrdən əldə edilmiş tətbiqlərin quraşdırılmasına administrator icazə vermir."</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"Ayarlar"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Tətbiqlər üçün yeni mənbə"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> başqa tətbiqlər yükləmək istəyir.\n\nBuna indi və daha sonrası üçün icazə verilsin?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Tətbiqləri idarə et"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Tətbiq əvəz edilsin?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Quraşdırdığınız tətbiq digər tətbiqi əvəz edəcək.\n\nLakin bütün öncəki istifadəçi datanız qorunacaq."</string>
@@ -69,31 +63,34 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Bu tətbiqi aradan qaldırmaq istəyirsiniz mi?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Bu tətbiqi "<b>"bütün"</b>" istifadəçilər üçün silmək istəyirsiz? Tətbiq və onun datası cihazdakı "<b>"bütün"</b>" istifadəçilər üçün silinəcək."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"<xliff:g id="USERNAME">%1$s</xliff:g> adlı istifadəçi üçün bu tətbiqi sistemdən silmək istəyirsiniz?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Bu tətbiqi zavod versiyası ilə dəyişdirmək istəyirsiniz?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Tətbiq zavod versiyası ilə əvəz olunsun? Bütün data silinəcək."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Tətbiq zavod versiyası ilə əvəz olunsun? Bütün data silinəcək. Bu, iş profilləri olanlar da daxil olmaqla bu cihazın bütün istifadəçilərinə təsir edir."</string>
<string name="uninstalling" msgid="5556217435895938250">"Silinir..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Sistemdən silmə tamamlandı."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Aradan qaldırılma uğursuz oldu."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Bu paket aktiv cihaz administratoru olduğu üçün aradan qaldırıla bilməz."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Quraşdırılmışı ləğv etmək mümkün deyil, çünki bu paket <xliff:g id="USERNAME">%1$s</xliff:g> adlı istifadəçi üçün aktiv cihaz inzibatçısıdır."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Bu app iş profil üçün tələb olunur və silindi bilməz."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Bu tətbiq bəzi istifadəçi və profillər tərəfindən tələb olunur və digərləri üçün silinib"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Bu tətbiq profil üçün tələb olunur və silinə bilməz."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Bu tətbiq cihaz administratoru tərəfindən tələb olunur və sistemdən silinə bilməz."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Cihaz administratorlarını idarə edin"</string>
+ <string name="manage_users" msgid="3125018886835668847">"İstifadəçiləri idarə edin"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> sistemdən silinə bilməz."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Təhlil xətası"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Paketin təhlilində problem var idi."</string>
<string name="newPerms" msgid="6039428254474104210">"Yeni"</string>
<string name="allPerms" msgid="1024385515840703981">"Hamısı"</string>
<string name="privacyPerms" msgid="1850527049572617">"Məxfilik"</string>
<string name="devicePerms" msgid="6733560207731294504">"Qurğu icazəsi"</string>
- <string name="no_new_perms" msgid="6657813692169565975">"Bu güncəlləmə heç bir yeni izn tələb etmir."</string>
+ <string name="no_new_perms" msgid="6657813692169565975">"Bu güncəllənmə heç bir icazə istəmir"</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Aşağıdakı icazələri vermək istəyirsiz? Əldə ediləcək çıxışlar:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"İcazə verin"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Rədd edin"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Hər bir halda rədd edin"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g> icazədən <xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> ədəd"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"<xliff:g id="APP_NAME">%1$s</xliff:g> tətbiqinə <xliff:g id="ACTION">%2$s</xliff:g> üçün icazə verilsin?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; tətbiqinə <xliff:g id="ACTION">%2$s</xliff:g> fəaliyyəti üçün icazə verilsin?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"İcazə verin"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Tətbiqlər"</string>
<string name="app_permissions" msgid="3146758905824597178">"Tətbiq icazələri"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Bir daha soruşma"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Bir daha soruşmayın"</string>
<string name="no_permissions" msgid="3210542466245591574">"İcazə yoxdur"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Əlavə icazələr"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Bu icazə ayarını dəyişdirmək üçün əvvəldə Ayarlar və Tətbiqlər bölməsindən ekran örtüyünü söndürməlisiniz"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Ayarları açın"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Yükləmə/Silmə fəaliyyətləri Wear\'də dəstəklənmir."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Yükləmə/Silmə fəaliyyətləri Wear\'də dəstəklənmir."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> tətbiqi güncəlləndi. <xliff:g id="APP_NAME_1">%1$s</xliff:g> tətbiqinə aşağıdakılara giriş hüququ verilsin?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"<xliff:g id="APP_NAME">%1$s</xliff:g> tətbiqinin giriş hüququnu seçin"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> tətbiqi güncəlləndi. Bu tətbiqin giriş hüququnu seçin."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Ləğv edin"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Davam edin"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Yeni icazələr"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Cari icazələr"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Tətbiq hazırlanır..."</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Naməlum"</string>
</resources>
diff --git a/res/values-b+sr+Latn-television/strings.xml b/res/values-b+sr+Latn-television/strings.xml
new file mode 100644
index 00000000..5dce759d
--- /dev/null
+++ b/res/values-b+sr+Latn-television/strings.xml
@@ -0,0 +1,28 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="grant_dialog_button_deny_dont_ask_again" msgid="5694574989758145558">"Odbij i ne pitaj ponovo"</string>
+ <string name="grant_dialog_how_to_change" msgid="615414835189256888">"Ovo možete da promenite kasnije u Podešavanjima &gt; Aplikacije"</string>
+ <string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
+ <string name="preference_show_system_apps" msgid="7330308025768596149">"Prikaži sistemske aplikacije"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Dozvole za aplikacije"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Dozvole za aplikacije"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Dozvole za aplikaciju <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Dodatne dozvole"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Dozvole za aplikaciju <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-b+sr+Latn-watch/strings.xml b/res/values-b+sr+Latn-watch/strings.xml
new file mode 100644
index 00000000..716694a4
--- /dev/null
+++ b/res/values-b+sr+Latn-watch/strings.xml
@@ -0,0 +1,25 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="grant_dialog_button_deny_dont_ask_again" msgid="5828565432145544298">"Odbij i ne pitaj ponovo"</string>
+ <string name="current_permission_template" msgid="6691830243038105737">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
+ <string name="preference_show_system_apps" msgid="7042886929865431207">"Prikaži sistemske aplikacije"</string>
+ <string name="permission_summary_enforced_by_policy" msgid="9002523259681588936">"Ne može da se promeni"</string>
+ <string name="generic_enabled" msgid="5221039415230005888">"OMOGUĆENO"</string>
+ <string name="generic_disabled" msgid="576339310027394867">"ONEMOGUĆENO"</string>
+</resources>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
new file mode 100644
index 00000000..70c664d6
--- /dev/null
+++ b/res/values-b+sr+Latn/strings.xml
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_name" msgid="2738748390251381682">"Upakovani program za instalaciju"</string>
+ <string name="next" msgid="3057143178373252333">"Sledeće"</string>
+ <string name="install" msgid="5896438203900042068">"Instaliraj"</string>
+ <string name="done" msgid="3889387558374211719">"Gotovo"</string>
+ <string name="security_settings_desc" msgid="2706691034244052604">"Dozvoli da ova aplikacija:"</string>
+ <string name="cancel" msgid="8360346460165114585">"Otkaži"</string>
+ <string name="unknown" msgid="4742479012767208045">"Nepoznato"</string>
+ <string name="installing" msgid="8613631001631998372">"Instaliranje..."</string>
+ <string name="install_done" msgid="3682715442154357097">"Aplikacija je instalirana."</string>
+ <string name="install_confirm_question" msgid="7295206719219043890">"Želite li da instalirate ovu aplikaciju? Imaće pristup sledećem:"</string>
+ <string name="install_confirm_question_no_perms" msgid="5918305641302873520">"Želite li da instalirate ovu aplikaciju? Ne zahteva poseban pristup."</string>
+ <string name="install_confirm_question_update" msgid="4624159567361487964">"Želite li da instalirate ažuriranje za ovu postojeću aplikaciju? Postojeći podaci neće biti izgubljeni. Ažurirana aplikacija imaće pristup sledećem:"</string>
+ <string name="install_confirm_question_update_system" msgid="1302330093676416336">"Želite li da instalirate ažuriranje za ovu ugrađenu aplikaciju? Postojeći podaci neće biti izgubljeni. Ažurirana aplikacija će imati pristup sledećem:"</string>
+ <string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Da li želite da instalirate ažuriranje ove postojeće aplikacije? Postojeći podaci neće biti izgubljeni. Nije potreban poseban pristup."</string>
+ <string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Da li želite da instalirate ažuriranje ove ugrađene aplikacije? Postojeći podaci neće biti izgubljeni. Nije potreban poseban pristup."</string>
+ <string name="install_failed" msgid="6579998651498970899">"Aplikacija nije instalirana."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Instaliranje paketa je blokirano."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Paket je u sukobu sa postojećim paketom istog naziva."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Ova aplikacija nije kompatibilna sa tabletom."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Ova aplikacija nije kompatibilna sa TV-om."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Ova aplikacija nije kompatibilna sa telefonom."</string>
+ <string name="install_failed_invalid_apk" msgid="1287935707565682604">"Izgleda da je paket oštećen."</string>
+ <string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"Nije moguće instalirati aplikaciju <xliff:g id="APP_NAME">%1$s</xliff:g> na tablet."</string>
+ <string name="install_failed_msg" product="tv" msgid="3990457938384021566">"Nismo uspeli da instaliramo <xliff:g id="APP_NAME">%1$s</xliff:g> na TV."</string>
+ <string name="install_failed_msg" product="default" msgid="8554909560982962052">"Nije moguće instalirati aplikaciju <xliff:g id="APP_NAME">%1$s</xliff:g> na telefon."</string>
+ <string name="launch" msgid="4826921505917605463">"Otvori"</string>
+ <string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Iz bezbednosnih razloga na tabletu je blokirana instalacija aplikacija sa nepoznatih izvora."</string>
+ <string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"TV je iz bezbednosnih razloga podešen tako da blokira instalaciju aplikacija iz nepoznatih izvora."</string>
+ <string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Iz bezbednosnih razloga na telefonu je blokirana instalacija aplikacija sa nepoznatih izvora."</string>
+ <string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Administrator ne dozvoljava instaliranje aplikacija dobijenih iz nepoznatih izvora."</string>
+ <string name="ok" msgid="3468756155452870475">"Potvrdi"</string>
+ <string name="settings" msgid="6743583734099755409">"Podešavanja"</string>
+ <string name="manage_applications" msgid="4033876279091996596">"Upravljanje aplikacijama"</string>
+ <string name="dlg_app_replacement_title" msgid="1232230739563820951">"Želite li da zamenite aplikaciju?"</string>
+ <string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Aplikacija koju instalirate zameniće drugu aplikaciju.\n\nSvi prethodni korisnički podaci biće sačuvani."</string>
+ <string name="dlg_sys_app_replacement_statement" msgid="1900046590819605929">"Ovo je sistemska aplikacija.\n\nSvi prethodni korisnički podaci biće sačuvani."</string>
+ <string name="out_of_space_dlg_title" msgid="7843674437613797326">"Nema više mesta"</string>
+ <string name="out_of_space_dlg_text" msgid="4774775404294282216">"Nije moguće instalirati aplikaciju <xliff:g id="APP_NAME">%1$s</xliff:g>. Oslobodite dodatni prostor i pokušajte ponovo."</string>
+ <string name="dlg_ok" msgid="6944357727705699232">"Potvrdi"</string>
+ <string name="app_not_found_dlg_title" msgid="2692335460569505484">"Aplikacija nije pronađena"</string>
+ <string name="app_not_found_dlg_text" msgid="6107465056055095930">"Aplikacija nije pronađena na listi instaliranih aplikacija."</string>
+ <string name="uninstall_application_title" msgid="1860074100811653963">"Deinstaliranje aplikacije"</string>
+ <string name="uninstall_update_title" msgid="4146940097553335390">"Deinstaliranje ažuriranja"</string>
+ <string name="uninstall_activity_text" msgid="6680688689803932550">"<xliff:g id="ACTIVITY_NAME">%1$s</xliff:g> je deo sledeće aplikacije:"</string>
+ <string name="uninstall_application_text" msgid="6691975835951187030">"Da li želite da deinstalirate ovu aplikaciju?"</string>
+ <string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Da li želite da deinstalirate ovu aplikaciju za "<b>"sve"</b>" korisnike? Aplikacija i podaci koji se na nju odnose biće uklonjeni za "<b>"sve"</b>" korisnike ovog uređaja."</string>
+ <string name="uninstall_application_text_user" msgid="8766882355635485733">"Želite li da deinstalirate ovu aplikaciju za korisnika <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Želite li da zamenite ovu aplikaciju fabričkom verzijom? Svi podaci će biti uklonjeni."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Želite li da zamenite ovu aplikaciju fabričkom verzijom? Svi podaci će biti uklonjeni. Ovo utiče na sve korisnike ovog uređaja, uključujući i one sa profilima za Work."</string>
+ <string name="uninstalling" msgid="5556217435895938250">"Deinstaliranje..."</string>
+ <string name="uninstall_done" msgid="3792487853420281888">"Deinstaliranje je završeno."</string>
+ <string name="uninstall_failed" msgid="631122574306299512">"Deinstaliranje nije uspelo."</string>
+ <string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Nije moguće deinstalirati zato što je ovaj paket aktivan administrator uređaja."</string>
+ <string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Nije moguće deinst. jer je paket aktivni administrator uređaja za korisnika <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Ova aplikacija je potrebna za neke korisnike ili profile, a deinstalirana je za druge"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Ova aplikacija je potrebna za vaš profil i ne može da se deinstalira."</string>
+ <string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Ova aplikacija je potrebna administratoru uređaja i ne može da se deinstalira."</string>
+ <string name="manage_device_administrators" msgid="891392489300312370">"Upravljaj administratorima uređaja"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Upravljaj korisnicima"</string>
+ <string name="uninstall_failed_msg" msgid="8969754702803951175">"Nije moguće deinstalirati aplikaciju <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
+ <string name="Parse_error_dlg_text" msgid="7623286983621067011">"Došlo je do problema pri raščlanjivanju paketa."</string>
+ <string name="newPerms" msgid="6039428254474104210">"Novo"</string>
+ <string name="allPerms" msgid="1024385515840703981">"Sve"</string>
+ <string name="privacyPerms" msgid="1850527049572617">"Privatnost"</string>
+ <string name="devicePerms" msgid="6733560207731294504">"Pristup uređaju"</string>
+ <string name="no_new_perms" msgid="6657813692169565975">"Ovo ažuriranje ne zahteva nove dozvole."</string>
+ <string name="grant_confirm_question" msgid="4690289297029223742">"Da li želite da odobrite sledeće dozvole? Odobrićete pristup za:"</string>
+ <string name="grant_dialog_button_deny" msgid="2176510645406614340">"Odbaci"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Ipak odbij"</string>
+ <string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>. od <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Želite li da dozvolite da &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; obavi sledeću radnju: <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Dozvoli"</string>
+ <string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Aplikacije"</string>
+ <string name="app_permissions" msgid="3146758905824597178">"Dozvole za aplikacije"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Ne pitaj ponovo"</string>
+ <string name="no_permissions" msgid="3210542466245591574">"Nema dozvola"</string>
+ <string name="additional_permissions" msgid="6667573114240111763">"Dodatne dozvole"</string>
+ <plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
+ <item quantity="one">još <xliff:g id="COUNT_1">%1$d</xliff:g></item>
+ <item quantity="few">još <xliff:g id="COUNT_1">%1$d</xliff:g></item>
+ <item quantity="other">još <xliff:g id="COUNT_1">%1$d</xliff:g></item>
+ </plurals>
+ <string name="old_sdk_deny_warning" msgid="3872277112584842615">"Ova aplikacija je dizajnirana za stariju verziju Android-a. Ako odbijete dozvolu, ona možda više neće pravilno da funkcioniše."</string>
+ <string name="default_permission_description" msgid="4992892207044156668">"obavlja nepoznatu radnju"</string>
+ <string name="app_permissions_group_summary" msgid="4787239772223699263">"Aplikacije sa dozvolom (<xliff:g id="COUNT_0">%1$d</xliff:g> od <xliff:g id="COUNT_1">%2$d</xliff:g>)"</string>
+ <string name="menu_show_system" msgid="6773743421743728921">"Prikaži sistemske"</string>
+ <string name="menu_hide_system" msgid="7595471742649432977">"Sakrij sistemske"</string>
+ <string name="permission_title" msgid="6495415273398916381">"Dozvole za aplikaciju <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="no_apps" msgid="1965493419005012569">"Nema aplikacija"</string>
+ <string name="location_settings" msgid="1774875730854491297">"Podešavanja lokacije"</string>
+ <string name="location_warning" msgid="8778701356292735971">"<xliff:g id="APP_NAME">%1$s</xliff:g> pruža usluge lokacije za ovaj uređaj. Pristup lokaciji možete da izmenite u podešavanjima lokacije."</string>
+ <string name="system_warning" msgid="7103819124542305179">"Ako odbijete ovu dozvolu, osnovne funkcije uređaja možda neće više funkcionisati ispravno."</string>
+ <string name="permission_summary_enforced_by_policy" msgid="3418617316188986205">"Primenjuje se u skladu sa smernicama"</string>
+ <string name="loading" msgid="7811651799620593731">"Učitava se…"</string>
+ <string name="all_permissions" msgid="5156669007784613042">"Sve dozvole"</string>
+ <string name="other_permissions" msgid="2016192512386091933">"Ostale mogućnosti aplikacije"</string>
+ <string name="permission_request_title" msgid="1204446718549121199">"Zahtev za dozvolu"</string>
+ <string name="screen_overlay_title" msgid="3021729846864038529">"Otkriven je element koji prekriva sadržaj ekrana"</string>
+ <string name="screen_overlay_message" msgid="2141944461571677331">"Da biste promenili podešavanje ove dozvole, prvo treba da isključite element koji prekriva sadržaj ekrana u odeljku Podešavanja &gt; Aplikacije"</string>
+ <string name="screen_overlay_button" msgid="4344544843349937743">"Otvori podešavanja"</string>
+ <string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Radnje Instaliraj/Deinstaliraj nisu podržane u Wear-u."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"Aplikacija <xliff:g id="APP_NAME_0">%1$s</xliff:g> je ažurirana. Želite li da dozvolite da <xliff:g id="APP_NAME_1">%1$s</xliff:g> pristupa sledećim stavkama?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Izaberite čemu <xliff:g id="APP_NAME">%1$s</xliff:g> može da pristupa"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> je ažurirana. Izaberite čemu aplikacija može da pristupa."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Otkaži"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Nastavi"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Nove dozvole"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Aktuelne dozvole"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Aplikacija se priprema…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Nepoznato"</string>
+</resources>
diff --git a/res/values-be-rBY-television/strings.xml b/res/values-be-rBY-television/strings.xml
new file mode 100644
index 00000000..5735d627
--- /dev/null
+++ b/res/values-be-rBY-television/strings.xml
@@ -0,0 +1,28 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="grant_dialog_button_deny_dont_ask_again" msgid="5694574989758145558">"Адхіліць і больш не пытацца"</string>
+ <string name="grant_dialog_how_to_change" msgid="615414835189256888">"Пазней гэта можна змянiць у раздзеле «Налады &gt; Праграмы»"</string>
+ <string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
+ <string name="preference_show_system_apps" msgid="7330308025768596149">"Паказваць сістэмныя праграмы"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Дазволы праграмы"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Дазволы праграмы"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Дазволы праграмы <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Дадатковыя дазволы"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Дазволы праграмы <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-be-rBY-watch/strings.xml b/res/values-be-rBY-watch/strings.xml
new file mode 100644
index 00000000..ca2e3341
--- /dev/null
+++ b/res/values-be-rBY-watch/strings.xml
@@ -0,0 +1,25 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="grant_dialog_button_deny_dont_ask_again" msgid="5828565432145544298">"Адхіліць, больш не пытацца"</string>
+ <string name="current_permission_template" msgid="6691830243038105737">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
+ <string name="preference_show_system_apps" msgid="7042886929865431207">"Паказваць сістэмныя праграмы"</string>
+ <string name="permission_summary_enforced_by_policy" msgid="9002523259681588936">"Нельга змяніць"</string>
+ <string name="generic_enabled" msgid="5221039415230005888">"УКЛЮЧАНА"</string>
+ <string name="generic_disabled" msgid="576339310027394867">"АДКЛЮЧАНА"</string>
+</resources>
diff --git a/res/values-be-rBY/strings.xml b/res/values-be-rBY/strings.xml
new file mode 100644
index 00000000..c4dba525
--- /dev/null
+++ b/res/values-be-rBY/strings.xml
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_name" msgid="2738748390251381682">"Усталёўшчык пакетаў"</string>
+ <string name="next" msgid="3057143178373252333">"Далей"</string>
+ <string name="install" msgid="5896438203900042068">"Усталяваць"</string>
+ <string name="done" msgid="3889387558374211719">"Гатова"</string>
+ <string name="security_settings_desc" msgid="2706691034244052604">"Дазволіць гэтаму прыкладанню выконваць наступныя дзеяннi:"</string>
+ <string name="cancel" msgid="8360346460165114585">"Скасаваць"</string>
+ <string name="unknown" msgid="4742479012767208045">"Невядомы"</string>
+ <string name="installing" msgid="8613631001631998372">"Усталяванне..."</string>
+ <string name="install_done" msgid="3682715442154357097">"Прыкладанне ўсталявана."</string>
+ <string name="install_confirm_question" msgid="7295206719219043890">"Усталяваць гэта прыкладанне? Яно атрымае доступ да:"</string>
+ <string name="install_confirm_question_no_perms" msgid="5918305641302873520">"Усталяваць гэта прыкладанне? Яно не патрабуе спецыяльнага доступу."</string>
+ <string name="install_confirm_question_update" msgid="4624159567361487964">"Усталяваць абнаўленне для гэтага існуючага прыкладання? Існуючыя дадзеныя не будуць страчаны. Абноўленае прыкладанне атрымае доступ да:"</string>
+ <string name="install_confirm_question_update_system" msgid="1302330093676416336">"Усталяваць абнаўленне для гэтага ўбудаванага прыкладання? Існуючыя дадзеныя не будуць страчаны. Абноўленае прыкладанне атрымае доступ да:"</string>
+ <string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Усталяваць абнаўленне для гэтага прыкладання? Вашы iснуючыя дадзеныя не будуць згублены. Спецыяльны доступ не патрабуецца."</string>
+ <string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Усталяваць абнаўленне для гэтага ўбудаванага прыкладання? Вашы iснуючыя дадзеныя не будуць згублены. Спецыяльны доступ не патрабуецца."</string>
+ <string name="install_failed" msgid="6579998651498970899">"Прыкладанне не ўсталявана."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Для пакета заблакіравана магчымасць усталявання."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Пакет канфліктуе з існым пакетам з аднолькавым імем."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Гэта праграма несумяшчальная з вашым планшэтам."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Гэта праграма несумяшчальная з вашым тэлевізарам."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Гэта праграма несумяшчальная з вашым тэлефонам."</string>
+ <string name="install_failed_invalid_apk" msgid="1287935707565682604">"Пакет, магчыма, пашкоджаны."</string>
+ <string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"На гэтым планшэце немагчыма ўсталяваць прыкладанне <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
+ <string name="install_failed_msg" product="tv" msgid="3990457938384021566">"На вашым тэлевізары немагчыма ўсталяваць праграму <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
+ <string name="install_failed_msg" product="default" msgid="8554909560982962052">"На гэтым тэлефоне немагчыма ўсталяваць прыкладанне <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
+ <string name="launch" msgid="4826921505917605463">"Адкрыць"</string>
+ <string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"У мэтах бяспекі ваш планшэт наладжаны на блакiроўку ўсталёўкі прыкладанняў, атрыманых з невядомых крыніц."</string>
+ <string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"У мэтах бяспекі ваш тэлевізар наладжаны на блакiроўку ўсталёўкі праграм з невядомых крыніц."</string>
+ <string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"У мэтах бяспекі ваш тэлефон наладжаны на блакiроўку ўсталёўкі прыкладанняў, атрыманых з невядомых крыніц."</string>
+ <string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Ваш адміністратар не дазваляе ўсталёўку праграм з невядомых крыніц."</string>
+ <string name="ok" msgid="3468756155452870475">"ОК"</string>
+ <string name="settings" msgid="6743583734099755409">"Налады"</string>
+ <string name="manage_applications" msgid="4033876279091996596">"Кіраванне прыкладаннямі"</string>
+ <string name="dlg_app_replacement_title" msgid="1232230739563820951">"Замянiць прыкладанне?"</string>
+ <string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Прыкладанне, якое вы ўсталёўваеце, заменіць іншае прыкладанне. \n\nУсе вашы папярэднія дадзеныя карыстальніка будуць захаваны."</string>
+ <string name="dlg_sys_app_replacement_statement" msgid="1900046590819605929">"Гэта сістэмнае прыкладанне.\n\nУсе вашы папярэднія дадзеныя карыстальніка будуць захаваны."</string>
+ <string name="out_of_space_dlg_title" msgid="7843674437613797326">"Не хапае месца"</string>
+ <string name="out_of_space_dlg_text" msgid="4774775404294282216">"Немагчыма ўсталяваць прыкладанне <xliff:g id="APP_NAME">%1$s</xliff:g>. Вызваліце месца і паўтарыце спробу."</string>
+ <string name="dlg_ok" msgid="6944357727705699232">"ОК"</string>
+ <string name="app_not_found_dlg_title" msgid="2692335460569505484">"Прыкладанне не знойдзена"</string>
+ <string name="app_not_found_dlg_text" msgid="6107465056055095930">"Прыкладанне не знойдзена ў спісе ўсталяваных прыкладанняў."</string>
+ <string name="uninstall_application_title" msgid="1860074100811653963">"Выдалiць прыкладанне"</string>
+ <string name="uninstall_update_title" msgid="4146940097553335390">"Выдаліць абнаўленні"</string>
+ <string name="uninstall_activity_text" msgid="6680688689803932550">"<xliff:g id="ACTIVITY_NAME">%1$s</xliff:g> з\'яўляецца часткай наступнага прыкладання:"</string>
+ <string name="uninstall_application_text" msgid="6691975835951187030">"Выдаліць гэта прыкладанне?"</string>
+ <string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Выдалiць гэта прыкладанне для "<b>"ўсiх"</b>" карыстальнirfў? Прыкладанне i яго дадзеныя будуць выдалены для "<b>"ўсiх"</b>" карыстальнiкаў прылады."</string>
+ <string name="uninstall_application_text_user" msgid="8766882355635485733">"Хочаце выдаліць гэту праграму для карыстальніка <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Замяніць гэту праграму заводскай версіяй? Усе даныя будуць выдалены."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Замяніць гэту праграму заводскай версіяй? Усе даныя будуць выдаленыя. Гэта паўплывае на ўсіх карыстальнікаў гэтай прылады, у тым ліку карыстальнікаў з працоўнымі профілямі."</string>
+ <string name="uninstalling" msgid="5556217435895938250">"Выдаленне..."</string>
+ <string name="uninstall_done" msgid="3792487853420281888">"Выдаленне завершана"</string>
+ <string name="uninstall_failed" msgid="631122574306299512">"Няўдалае выдаленне."</string>
+ <string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Немагчыма выдаліць, паколькі гэты пакет з\'яўляецца актыўным адміністратарам прылады."</string>
+ <string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Немагчыма выдаліць, бо гэты пакет з\'яўляецца актыўным адміністратарам прылады для карыстальніка <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Гэта праграма патрабуецца для некаторых карыстальнікаў або профіляў і была выдалена для іншых"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Гэта праграма неабходная для вашага профілю і не можа быць выдалена."</string>
+ <string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Гэта праграма патрабуецца адміністратару вашай прылады і не можа быць выдалена."</string>
+ <string name="manage_device_administrators" msgid="891392489300312370">"Кіраваць адміністратарамі прылады"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Кіраванне карыстальнікамі"</string>
+ <string name="uninstall_failed_msg" msgid="8969754702803951175">"Немагчыма выдалiць прыкладанне <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
+ <string name="Parse_error_dlg_text" msgid="7623286983621067011">"Памылка аналiзу пакета."</string>
+ <string name="newPerms" msgid="6039428254474104210">"Новыя"</string>
+ <string name="allPerms" msgid="1024385515840703981">"Усе"</string>
+ <string name="privacyPerms" msgid="1850527049572617">"Прыватнасць"</string>
+ <string name="devicePerms" msgid="6733560207731294504">"Доступ да прылады"</string>
+ <string name="no_new_perms" msgid="6657813692169565975">"Гэтае абнаўленне не патрабуе ніякіх новых дазволаў."</string>
+ <string name="grant_confirm_question" msgid="4690289297029223742">"Даць наступны дазвол? Ён будзе атрымліваць доступ да:"</string>
+ <string name="grant_dialog_button_deny" msgid="2176510645406614340">"Адмовіць"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Усё роўна адмовіць"</string>
+ <string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> з <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Дазволіць &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Дазволіць"</string>
+ <string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Праграмы"</string>
+ <string name="app_permissions" msgid="3146758905824597178">"Дазволы праграмы"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Больш не пытацца"</string>
+ <string name="no_permissions" msgid="3210542466245591574">"Няма дазволаў"</string>
+ <string name="additional_permissions" msgid="6667573114240111763">"Дадатковыя дазволы"</string>
+ <plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
+ <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> іншы</item>
+ <item quantity="few"><xliff:g id="COUNT_1">%1$d</xliff:g> іншыя</item>
+ <item quantity="many"><xliff:g id="COUNT_1">%1$d</xliff:g> іншых</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> іншага</item>
+ </plurals>
+ <string name="old_sdk_deny_warning" msgid="3872277112584842615">"Гэта праграма была распрацавана для больш старой версіі Android. Адхіленне дазволу можа прывесці да таго, што яна не будзе працаваць належным чынам."</string>
+ <string name="default_permission_description" msgid="4992892207044156668">"выканаць невядомае дзеянне"</string>
+ <string name="app_permissions_group_summary" msgid="4787239772223699263">"<xliff:g id="COUNT_0">%1$d</xliff:g> з <xliff:g id="COUNT_1">%2$d</xliff:g> праграм з дазволам"</string>
+ <string name="menu_show_system" msgid="6773743421743728921">"Паказаць сістэмныя"</string>
+ <string name="menu_hide_system" msgid="7595471742649432977">"Схаваць сістэмныя"</string>
+ <string name="permission_title" msgid="6495415273398916381">"Дазволы праграмы <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="no_apps" msgid="1965493419005012569">"Няма праграм"</string>
+ <string name="location_settings" msgid="1774875730854491297">"Налады месцазнаходжання"</string>
+ <string name="location_warning" msgid="8778701356292735971">"<xliff:g id="APP_NAME">%1$s</xliff:g> з\'яўляецца службай вызначэння месцазнаходжання для гэтай прылады. Доступ да вызначэння месцазнаходжання можна змяніць у наладах вызначэння месцазнаходжання."</string>
+ <string name="system_warning" msgid="7103819124542305179">"Калі вы адхіліце гэты дазвол, асноўныя функцыі прылады могуць перастаць працаваць належным чынам."</string>
+ <string name="permission_summary_enforced_by_policy" msgid="3418617316188986205">"Ажыццёўлена палітыкай"</string>
+ <string name="loading" msgid="7811651799620593731">"Загрузка..."</string>
+ <string name="all_permissions" msgid="5156669007784613042">"Усе дазволы"</string>
+ <string name="other_permissions" msgid="2016192512386091933">"Іншыя магчымасці праграмы"</string>
+ <string name="permission_request_title" msgid="1204446718549121199">"Запыт дазволу"</string>
+ <string name="screen_overlay_title" msgid="3021729846864038529">"Выяўлены слой экрана"</string>
+ <string name="screen_overlay_message" msgid="2141944461571677331">"Каб змяніць гэту наладу дазволу, вы павінны спачатку выключыць слой экрана з меню Налады &gt; Праграмы"</string>
+ <string name="screen_overlay_button" msgid="4344544843349937743">"Адкрыць налады"</string>
+ <string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Дзеянні па ўсталяванні або выдаленні не падтрымліваюцца на Wear."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"Праграма <xliff:g id="APP_NAME_0">%1$s</xliff:g> абноўлена. Дазволіць <xliff:g id="APP_NAME_1">%1$s</xliff:g> доступ да наступнага?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Выберыце, да чаго дазволіць доступ праграме <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"Праграма <xliff:g id="APP_NAME">%1$s</xliff:g> абноўлена. Выберыце, да чаго ёй дазволіць доступ."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Скасаваць"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Далей"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Новыя дазволы"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Бягучыя дазволы"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Падрыхтоўка праграмы..."</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Невядома"</string>
+</resources>
diff --git a/res/values-bg-television/strings.xml b/res/values-bg-television/strings.xml
index c69acb23..7429955a 100644
--- a/res/values-bg-television/strings.xml
+++ b/res/values-bg-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Можете да промените това по-късно от „Настройки“ &gt; „Приложения“"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Показване на системните приложения"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Разрешения за приложението"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Разрешения за приложението"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Разрешения за <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Допълнителни разрешения"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Разрешения за <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 74d29a98..b4617d1c 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Искате ли да инсталирате актуализация за това съществуващо приложение? Съществуващите ви данни няма да бъдат загубени. Не се изисква специален достъп."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Искате ли да инсталирате актуализация за това вградено приложение? Съществуващите ви данни няма да бъдат загубени. Не се изисква специален достъп."</string>
<string name="install_failed" msgid="6579998651498970899">"Приложението не бе инсталирано."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Инсталирането на пакета бе блокирано."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Пакетът е в конфликт със съществуващ пакет със същото име."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Това приложение не е съвместимо с таблета ви."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Това приложение не е съвместимо с телевизора ви."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Това приложение не е съвместимо с телeфона ви."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Изглежда, че пакетът е повреден."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Вече е инсталиран съществуващ пакет под същото име с несъвместим подпис."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Пакетът работи само на по-нови версии на Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Това приложение не е съвместимо с таблета ви."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Това приложение не е съвместимо с телевизора ви."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Това приложение не е съвместимо с телeфона ви."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Посоченият пакет бе изтрит преди завършване на инсталацията."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Пакетът не премина потвърждаването и не може да бъде инсталиран."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"При потвърждаването на пакета времето за изчакване изтече. Опитайте да инсталирате отново по-късно."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> не можа да се инсталира на таблета ви."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> не можа да се инсталира на телевизора ви."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g> не можа да се инсталира на телефона ви."</string>
<string name="launch" msgid="4826921505917605463">"Отваряне"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Инсталирането е блокирано"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"За сигурност таблетът ви блокира инсталирането на приложения, получени от неизвестни източници."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"От съображения за сигурност телевизорът блокира инсталирането на приложения от неизвестни източници."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"За сигурност телефонът ви блокира инсталирането на приложения, получени от неизвестни източници."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Администраторът ви не разрешава инсталирането на приложения, получени от неизвестни източници."</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"Настройки"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Нов източник за приложения"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> иска да инсталира други приложения.\n\nЩе разрешите ли това сега и в бъдеще?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Управление на приложенията"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Да се замени ли приложението?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Приложението, което инсталирате, ще замени друго.\n\nВсичките ви досегашни потребителски данни ще бъдат запазени."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Искате ли да деинсталирате това приложение?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Искате ли да деинсталирате това приложение за "<b>"всички"</b>" потребители? Приложението и данните му ще бъдат премахнати от "<b>"всички"</b>" потребители на устройството."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Искате ли да деинсталирате това приложение за потребителя <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Искате ли да замените това приложение с фабричната му версия?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Това приложение да се замени ли с фабричната версия? Всички данни ще бъдат премахнати."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Това приложение да се замени ли с фабричната версия? Всички данни ще бъдат премахнати. Промяната ще засегне всеки потребител на устройството, включително тези със служебни потребителски профили."</string>
<string name="uninstalling" msgid="5556217435895938250">"Деинсталира се..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Деинсталирането завърши."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Деинсталирането не бе успешно."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Не може да се деинсталира: Този пакет е активен администратор на устройството."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Не може да се деинст., защото пакетът е акт. мениджър на у-ва за потребителя <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Приложението е нужно за служебния ви потр. профил и не може да се деинсталира."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Това приложение е необходимо за някои потребители или потребителски профили и бе деинсталирано за други."</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Това приложение е необходимо за потребителския ви профил и не може да се деинсталира."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Приложението се изисква от администратора на у-вото и не може да се деинсталира."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Управление на администраторите на устройства"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Управление на потребителите"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> не можа да се деинсталира."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Грешка при синтактичния разбор"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"При синтактичния анализ на пакета възникна проблем."</string>
<string name="newPerms" msgid="6039428254474104210">"Нови"</string>
<string name="allPerms" msgid="1024385515840703981">"Всички"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Достъп до у-вото"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Тази актуализация не изисква нови разрешения."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Искате ли да предоставите следните разрешения? Така ще се получи достъп до:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Разрешаване"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Отказване"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Отказване въпреки това"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> от <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Ще разрешите ли на <xliff:g id="APP_NAME">%1$s</xliff:g> да <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Да се разреши ли на &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; следното действие: <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Разрешаване"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Приложения"</string>
<string name="app_permissions" msgid="3146758905824597178">"Разрешения за приложения"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Никога вече да не се извежда запитване"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Без повторно питане"</string>
<string name="no_permissions" msgid="3210542466245591574">"Няма разрешения"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Допълнителни разрешения"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"За да промените настройката за това разрешение, трябва първо да изключите екранното наслагване от „Настройки“ &gt; „Приложения“"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Отваряне на настройките"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Действията инсталиране и деинсталиране не се поддържат на устройства с Wear."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Действията инсталиране и деинсталиране не се поддържат на устройства с Wear."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"Приложението <xliff:g id="APP_NAME_0">%1$s</xliff:g> е актуализирано. Искате ли да разрешите на <xliff:g id="APP_NAME_1">%1$s</xliff:g> достъп до следните неща?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Изберете до какво да разрешите достъп на <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"Приложението <xliff:g id="APP_NAME">%1$s</xliff:g> е актуализирано. Изберете до какво да му разрешите достъп."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Отказ"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Напред"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Нови разрешения"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Текущи разрешения"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Приложението се подготвя…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Неизвестно"</string>
</resources>
diff --git a/res/values-bn-rBD-television/strings.xml b/res/values-bn-rBD-television/strings.xml
index 47b3e0ac..06761f3e 100644
--- a/res/values-bn-rBD-television/strings.xml
+++ b/res/values-bn-rBD-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"আপনি সেটিংস &gt; অ্যাপ্লিকেশান এ এটি পরে পরিবর্তন করতে পারেন"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"সিস্টেম অ্যাপ্লিকেশানগুলি দেখান"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"অ্যাপ্লিকেশানের অনুমতি"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"অ্যাপ্লিকেশানের অনুমতি"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> অনুমতিগুলি"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"অতিরিক্ত অনুমতিগুলি"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> অনুমতিগুলি"</string>
</resources>
diff --git a/res/values-bn-rBD/strings.xml b/res/values-bn-rBD/strings.xml
index ce13ce54..47692973 100644
--- a/res/values-bn-rBD/strings.xml
+++ b/res/values-bn-rBD/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"আপনি কি এই বিদ্যমান অ্যাপ্লিকেশানের একটি আপডেট ইনস্টল করতে চান? আপনার বিদ্যমান ডেটাগুলি একই রকম থাকবে৷ এর জন্য কোনো বিশেষ অ্যাক্সেসের প্রয়োজন নেই৷"</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"আপনি কি ভেতরে থাকা অ্যাপ্লিকেশানের একটি আপডেট ইনস্টল করতে চান? আপনার বিদ্যমান ডেটাগুলি একই রকম থাকবে৷ এর জন্য কোনো বিশেষ অ্যাক্সেসের প্রয়োজন নেই৷"</string>
<string name="install_failed" msgid="6579998651498970899">"অ্যাপ্লিকেশান ইনস্টল করা হয়নি৷"</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"ইনস্টল হওয়া থেকে প্যাকেজটিকে অবরুদ্ধ করা হয়েছে।"</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"প্যাকেজটির সাথে একই নামের আরেকটি বিদ্যমান প্যাকেজের দ্বন্দ্ব হচ্ছে।"</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"এই অ্যাপ্লিকেশানটি আপনার ট্যাবলেটের জন্য উপযুক্ত নয়৷"</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"এই অ্যাপ্লিকেশানটি আপনার টিভির জন্য উপযুক্ত নয়৷"</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"এই অ্যাপ্লিকেশানটি আপনার ফোনের জন্য উপযুক্ত নয়৷"</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"প্যাকেজটি ক্ষতিগ্রস্ত বলে মনে হচ্ছে৷"</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"একটি বিবাদী স্বাক্ষর সহ একই নামের একটি বিদ্যমান প্যাকেজ ইতিমধ্যেই ইনস্টল রয়েছে৷"</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"প্যাকেজটি শুধুমাত্র Android এর নতুন সংস্করণে কাজ করে৷"</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"এই অ্যাপ্লিকেশানটি আপনার ট্যাবলেটের জন্য উপযুক্ত নয়৷"</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"এই অ্যাপ্লিকেশানটি আপনার টিভির জন্য উপযুক্ত নয়৷"</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"এই অ্যাপ্লিকেশানটি আপনার ফোনের জন্য উপযুক্ত নয়৷"</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"ইনস্টলেশান প্রক্রিয়া সম্পন্ন হওয়ার পূর্বে উল্লিখিত প্যাকেজ মুছে ফেলা হয়েছে৷"</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"প্যাকেজটি যাচাইকরণে উত্তীর্ণ হয়নি এবং ইনস্টল করা যাবে না৷"</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"এই প্যাকেজটিকে যাচাই করার জন্য নির্ধারিত সময়কালের মেয়াদ ফুরিয়ে গেছে৷ এটিকে পরে আবার ইনস্টল করার চেষ্টা করুন৷"</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> আপনার ট্যাবলেটে ইনস্টল করা যায়নি৷"</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g>-কে আপনার টিভিতে ইনস্টল করা যাবে না৷"</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g> আপনার ফোনে ইনস্টল করা যায়নি৷"</string>
<string name="launch" msgid="4826921505917605463">"খুলুন"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"ইনস্টল করা অবরুদ্ধ করা হয়েছে"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"সুরক্ষা জনিত কারণে, অজানা উৎসগুলি থেকে প্রাপ্ত অ্যাপ্লিকেশানগুলির আপনার ট্যাবলেটে ইনস্টল হওয়াকে অবরুদ্ধ করে রাখা হয়েছে৷"</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"সুরক্ষা জনিত কারণে, অজানা উৎসগুলি থেকে প্রাপ্ত অ্যাপ্লিকেশানগুলির আপনার টিভিতে ইনস্টল হওয়াকে অবরুদ্ধ করে রাখা হয়েছে৷"</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"সুরক্ষা জনিত কারণে, অজানা উৎসগুলি থেকে প্রাপ্ত অ্যাপ্লিকেশানগুলির আপনার ফোনে ইনস্টল হওয়াকে অবরুদ্ধ করে রাখা হয়েছে৷"</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"আপনার প্রশাসক অজানা উৎসগুলি থেকে প্রাপ্ত অ্যাপ্লিকেশানগুলি ইনস্টল করাকে মঞ্জুর করে না৷"</string>
<string name="ok" msgid="3468756155452870475">"ঠিক আছে"</string>
<string name="settings" msgid="6743583734099755409">"সেটিংস"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"অ্যাপ্লিকেশানগুলির নতুন উৎস"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> অন্যান্য অ্যাপ্লিকেশানগুলিকে ইনস্টল করতে চায়৷\n\nএটিকে কি এখন বা ভবিষ্যতে মঞ্জুরি দেবেন?"</string>
<string name="manage_applications" msgid="4033876279091996596">"অ্যাপ্লিকেশানগুলির পরিচালনা করুন"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"অ্যাপ্লিকেশান প্রতিস্থাপন করতে চান?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"আপনি যে অ্যাপ্লিকেশানটি ইনস্টল করছেন তা অন্য একটি অ্যাপ্লিকেশানকে প্রতিস্থাপিত করবে৷\n\nআপনার সমস্ত পূর্ববর্তী ব্যবহারকারী ডেটা সংরক্ষিত হবে৷"</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"আপনি কি এই অ্যাপ্লিকেশানটিকে আনইনস্টল করতে চান?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"আপনি কি "<b>"সমস্ত"</b>" ব্যবহারকারীর জন্য এই অ্যাপ্লিকেশানটিকে আনইনস্টল করতে চান? এই ডিভাইসের "<b>"সমস্ত"</b>" ব্যবহারকারীর কাছ থেকে অ্যাপ্লিকেশানটি ও এর ডেটা হারিয়ে যাবে৷"</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"আপনি কি ব্যবহারকারী <xliff:g id="USERNAME">%1$s</xliff:g> এর জন্য এই অ্যাপ্লিকেশানটি আনইনস্টল করতে চান?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"আপনি কি ফ্যাক্টরি সংস্করণের মাধ্যমে এই অ্যাপ্লিকেশানটি প্রতিস্থাপন করতে চান?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"ফ্যাক্টরি সংস্করণের সাথে এই অ্যাপটিকে বদলাবেন? সব ডেটা মুছে যাবে।"</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"ফ্যাক্টরি সংস্করণের সাথে এই অ্যাপটিকে বদলাবেন? সমস্ত ডেটা মুছে যাবে। এটি এই ডিভাইসের সমস্ত ব্যবহারকারী সহ তাদের কার্যের প্রোফাইলের উপরেও প্রভাব ফেলবে।"</string>
<string name="uninstalling" msgid="5556217435895938250">"আনইনস্টল করা হচ্ছে ..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"আনইনস্টল সমাপ্ত হয়েছে৷"</string>
<string name="uninstall_failed" msgid="631122574306299512">"আনইনস্টল সফল হয়নি৷"</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"আনইনস্টল করা যায়নি কারণ এই প্যাকেজটি হল একটি সক্রিয় ডিভাইস প্রশাসক৷"</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"এই প্যাকেজটি আনইনস্টল করা যাবে না কারণ, এটি হল <xliff:g id="USERNAME">%1$s</xliff:g> এর একটি সক্রিয় ডিভাইস প্রশাসক৷"</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"আপনার প্রোফাইলের জন্য এই অ্যাপ্লিকেশানটি প্রয়োজন এবং এটি আনইনস্টল করা যাবে না৷"</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"কিছু ব্যবহারকারী বা প্রোফাইলের জন্য এই অ্যাপ্লিকেশানটি আবশ্যক এবং অন্যদের জন্য আনইনস্টল করা হবে"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"আপনার প্রোফাইলের জন্য এই অ্যাপ্লিকেশানটি প্রয়োজন এবং এটিকে আনইনস্টল করা যাবে না৷"</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"আপনার ডিভাইস প্রশাসকের চাহিদা অনুযায়ী এই অ্যাপ্লিকেশানটি আবশ্যক এবং এটি আনইনস্টল করা যাবে না।"</string>
<string name="manage_device_administrators" msgid="891392489300312370">"ডিভাইস প্রশাসকদের পরিচালনা করুন"</string>
+ <string name="manage_users" msgid="3125018886835668847">"ব্যবহারকারীদের পরিচালনা করুন"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> আনইনস্টল করা যায়নি৷"</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"বিশ্লেষণ ত্রুটি"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"প্যাকেজটি বিশ্লেষণ করার ক্ষেত্রে একটি সমস্যা হয়েছে৷"</string>
<string name="newPerms" msgid="6039428254474104210">"নতুন"</string>
<string name="allPerms" msgid="1024385515840703981">"সমস্ত"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"ডিভাইসের অ্যাক্সেস"</string>
<string name="no_new_perms" msgid="6657813692169565975">"এই আপডেটের জন্য কোনো নতুন অনুমতির প্রয়োজন নেই৷"</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"আপনি কি নিম্নলিখিত অনুমতিগুলি প্রদান করতে চান? এটি এতে অ্যাক্সেস করার সুযোগ পাবে:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"মঞ্জুরি দিন"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"প্রত্যাখ্যান করুন"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"যাইহোক অস্বীকার করুন"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g> এর <xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"আপনি কি <xliff:g id="APP_NAME">%1$s</xliff:g> কে <xliff:g id="ACTION">%2$s</xliff:g> করার মঞ্জুরি দেবেন?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;কে <xliff:g id="ACTION">%2$s</xliff:g> এ অনুমতি দেবেন?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"অনুমতি দিন"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"অ্যাপ্লিকেশানগুলি"</string>
<string name="app_permissions" msgid="3146758905824597178">"অ্যাপ্লিকেশানের অনুমতি"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"পরে কখনই জিজ্ঞাসাই করবেন না"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"আর জিজ্ঞাসা করবেন না"</string>
<string name="no_permissions" msgid="3210542466245591574">"কোনো অনুমতি নেই"</string>
<string name="additional_permissions" msgid="6667573114240111763">"অতিরিক্ত অনুমতিগুলি"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"এই অনুমতি সেটিংস পরিবর্তন করতে, আপনাকে প্রথমে সেটিংস &gt; এ গিয়ে অ্যাপ্লিকেশানগুলি থেকে স্ক্রীন ওভারলে বন্ধ করতে হবে"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"সেটিংস খুলুন"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Wearএ ইনস্টল/আনইনস্টল করার ক্রিয়াগুলি সমর্থিত নয়।"</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"ওয়েরে ইনস্টল/আনইনস্টল করার কাজগুলি সমর্থিত নয়।"</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> আপডেট করা হয়েছে৷ <xliff:g id="APP_NAME_1">%1$s</xliff:g>কে নিম্নলিখিত জিনিসগুলি অ্যাক্সেস করার অনুমতি দেবেন?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"<xliff:g id="APP_NAME">%1$s</xliff:g>কে কোন কোন জিনিসগুলিতে অ্যাক্সেস দেবেন তা বেছে নিন"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> আপডেট করা হয়েছে৷ এই অ্যাপ্লিকেশানটিকে কোন কোন জিনিসগুলিতে অ্যাক্সেস দেবেন তা চয়ন করুন৷"</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"বাতিল করুন"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"চালিয়ে যান"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"নতুন অনুমতিগুলি"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"বর্তমান অনুমতিগুলি"</string>
+ <string name="message_staging" msgid="6151794817691100003">"অ্যাপ্লিকেশান স্টেজ করা হচ্ছে..."</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"অজানা"</string>
</resources>
diff --git a/res/values-bs-rBA-television/strings.xml b/res/values-bs-rBA-television/strings.xml
new file mode 100644
index 00000000..8fba2cc7
--- /dev/null
+++ b/res/values-bs-rBA-television/strings.xml
@@ -0,0 +1,28 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="grant_dialog_button_deny_dont_ask_again" msgid="5694574989758145558">"Odbij i ne pitaj ponovo"</string>
+ <string name="grant_dialog_how_to_change" msgid="615414835189256888">"Ovo možete kasnije promijeniti u odjeljku Postavke &gt; Aplikacije"</string>
+ <string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
+ <string name="preference_show_system_apps" msgid="7330308025768596149">"Prikaži sistemske aplikacije"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Odobrenja za aplikacije"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Odobrenja za aplikacije"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Odobrenja za aplikaciju: <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Dodatna odobrenja"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Odobrenja za aplikaciju: <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+</resources>
diff --git a/res/values-bs-rBA-watch/strings.xml b/res/values-bs-rBA-watch/strings.xml
new file mode 100644
index 00000000..d168fbcc
--- /dev/null
+++ b/res/values-bs-rBA-watch/strings.xml
@@ -0,0 +1,25 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="grant_dialog_button_deny_dont_ask_again" msgid="5828565432145544298">"Odbij i ne pitaj ponovo"</string>
+ <string name="current_permission_template" msgid="6691830243038105737">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
+ <string name="preference_show_system_apps" msgid="7042886929865431207">"Prikaži sistemske aplikacije"</string>
+ <string name="permission_summary_enforced_by_policy" msgid="9002523259681588936">"Ne mijenja se"</string>
+ <string name="generic_enabled" msgid="5221039415230005888">"OMOGUĆENO"</string>
+ <string name="generic_disabled" msgid="576339310027394867">"ONEMOGUĆENO"</string>
+</resources>
diff --git a/res/values-bs-rBA/strings.xml b/res/values-bs-rBA/strings.xml
new file mode 100644
index 00000000..e1cde366
--- /dev/null
+++ b/res/values-bs-rBA/strings.xml
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_name" msgid="2738748390251381682">"Alat za instaliranje paketa"</string>
+ <string name="next" msgid="3057143178373252333">"Naprijed"</string>
+ <string name="install" msgid="5896438203900042068">"Instaliraj"</string>
+ <string name="done" msgid="3889387558374211719">"Gotovo"</string>
+ <string name="security_settings_desc" msgid="2706691034244052604">"Dozvolite ovoj aplikaciji da:"</string>
+ <string name="cancel" msgid="8360346460165114585">"Otkaži"</string>
+ <string name="unknown" msgid="4742479012767208045">"Nepoznato"</string>
+ <string name="installing" msgid="8613631001631998372">"Instalacija u toku..."</string>
+ <string name="install_done" msgid="3682715442154357097">"Aplikacija je instalirana."</string>
+ <string name="install_confirm_question" msgid="7295206719219043890">"Želite li instalirati ovu aplikaciju? Ona će dobiti pristup:"</string>
+ <string name="install_confirm_question_no_perms" msgid="5918305641302873520">"Želite li instalirati ovu aplikaciju? Ona ne zahtijeva poseban pristup."</string>
+ <string name="install_confirm_question_update" msgid="4624159567361487964">"Želite li ažurirati ovu postojeću aplikaciju? Vaši postojeći podaci neće biti izgubljeni. Ažurirana aplikacija će dobiti pristup:"</string>
+ <string name="install_confirm_question_update_system" msgid="1302330093676416336">"Želite li ažurirati ovu ugrađenu aplikaciju? Vaši postojeći podaci neće biti izgubljeni. Ažurirana aplikacija će dobiti pristup:"</string>
+ <string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Želite li ažurirati ovu postojeću aplikaciju? Vaši postojeći podaci neće biti izgubljeni. Za ovo nije potreban poseban pristup."</string>
+ <string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Želite li ažurirati ovu ugrađenu aplikaciju? Vaš postojeći podaci neće biti izgubljeni. Nije potreban poseban pristup."</string>
+ <string name="install_failed" msgid="6579998651498970899">"Aplikacija nije instalirana."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Instaliranje ovog paketa je blokirano."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Paket je u koliziji sa postojećim paketom istog imena."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Ova aplikacija nije kompatibilna s vašim tabletom."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Ova aplikacija nije kompatibilna s vašim TV-om."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Ova aplikacija nije kompatibilna s vašim telefonom."</string>
+ <string name="install_failed_invalid_apk" msgid="1287935707565682604">"Čini se da je paket oštećen."</string>
+ <string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"Aplikaciju <xliff:g id="APP_NAME">%1$s</xliff:g> ne možete instalirati na svoj tablet."</string>
+ <string name="install_failed_msg" product="tv" msgid="3990457938384021566">"Nije moguće instalirati aplikaciju <xliff:g id="APP_NAME">%1$s</xliff:g> na vaš TV."</string>
+ <string name="install_failed_msg" product="default" msgid="8554909560982962052">"Aplikaciju <xliff:g id="APP_NAME">%1$s</xliff:g> ne možete instalirati na svoj telefon."</string>
+ <string name="launch" msgid="4826921505917605463">"Otvori"</string>
+ <string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Iz sigurnosnih razloga, vaš tablet je podešen da blokira instaliranje aplikacija dobivenih iz nepoznatih izvora."</string>
+ <string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Vaš TV je zbog sigurnosti podešen da blokira instaliranje aplikacija iz nepoznatih izvora."</string>
+ <string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Iz sigurnosnih razloga, vaš telefon je podešen da blokira instaliranje aplikacija dobivenih iz nepoznatih izvora."</string>
+ <string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Vaš administrator ne dozvoljava instaliranje aplikacija iz nepoznatih izvora."</string>
+ <string name="ok" msgid="3468756155452870475">"Uredu"</string>
+ <string name="settings" msgid="6743583734099755409">"Postavke"</string>
+ <string name="manage_applications" msgid="4033876279091996596">"Upravljaj aplikacijama"</string>
+ <string name="dlg_app_replacement_title" msgid="1232230739563820951">"Zamijeniti aplikaciju?"</string>
+ <string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Aplikacija koju instalirate zamijenit će drugu aplikaciju.\n\nSvi vaši prethodni korisnički podaci bit će sačuvani."</string>
+ <string name="dlg_sys_app_replacement_statement" msgid="1900046590819605929">"Ovo je sistemska aplikacija.\n\nSvi vaši prethodni korisnički podaci bit će sačuvani."</string>
+ <string name="out_of_space_dlg_title" msgid="7843674437613797326">"Nedostatak prostora"</string>
+ <string name="out_of_space_dlg_text" msgid="4774775404294282216">"Ne možete instalirati aplikaciju <xliff:g id="APP_NAME">%1$s</xliff:g>. Oslobodite prostora u pohrani i pokušajte ponovo."</string>
+ <string name="dlg_ok" msgid="6944357727705699232">"Uredu"</string>
+ <string name="app_not_found_dlg_title" msgid="2692335460569505484">"Aplikacija nije pronađena"</string>
+ <string name="app_not_found_dlg_text" msgid="6107465056055095930">"Aplikacija nije pronađena na spisku instaliranih aplikacija."</string>
+ <string name="uninstall_application_title" msgid="1860074100811653963">"Uklanjanje aplikacije"</string>
+ <string name="uninstall_update_title" msgid="4146940097553335390">"Uklanjanje ažuriranja"</string>
+ <string name="uninstall_activity_text" msgid="6680688689803932550">"<xliff:g id="ACTIVITY_NAME">%1$s</xliff:g> je dio sljedeće aplikacije:"</string>
+ <string name="uninstall_application_text" msgid="6691975835951187030">"Želite li ukloniti ovu aplikaciju?"</string>
+ <string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Želite li ukloniti ovu aplikaciju za "<b>" sve "</b>" korisnike? Aplikacija i njeni podaci će biti uklonjeni iz "<b>" svih "</b>" korisničkih računa na uređaju."</string>
+ <string name="uninstall_application_text_user" msgid="8766882355635485733">"Želite li ukloniti ovu aplikaciju za korisnika <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Želite li ovu aplikaciju zamijeniti s fabričkom verzijom? Svi podaci će biti uklonjeni."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Želite li ovu aplikaciju zamijeniti s fabričkom verzijom? Svi podaci će biti uklonjeni. To će utjecati na sve korisnike uređaja, uključujući i one s radnim profilima."</string>
+ <string name="uninstalling" msgid="5556217435895938250">"Uklanjanje u toku..."</string>
+ <string name="uninstall_done" msgid="3792487853420281888">"Uklanjanje završeno."</string>
+ <string name="uninstall_failed" msgid="631122574306299512">"Uklanjanje nije uspjelo."</string>
+ <string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Ovaj paket ne možete ukloniti jer je aktivni administrator uređaja."</string>
+ <string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Ne može se ukloniti jer ovaj paket funkcionira kao aktivni administrator uređaja za korisnika <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Ova aplikacija je neophodna nekim korisnicima ili profilima, a kod ostalih je deinstalirana"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Ova aplikacija je potrebna za vaš profil i ne može se deinstalirati."</string>
+ <string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Ova aplikacija je potrebna administratoru vašeg uređaja i ne može se ukloniti."</string>
+ <string name="manage_device_administrators" msgid="891392489300312370">"Upravljanje administratorima uređaja"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Upravljanje korisnicima"</string>
+ <string name="uninstall_failed_msg" msgid="8969754702803951175">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> se ne može ukloniti."</string>
+ <string name="Parse_error_dlg_text" msgid="7623286983621067011">"Došlo je do problema prilikom raščlanjivanja paketa."</string>
+ <string name="newPerms" msgid="6039428254474104210">"Novo"</string>
+ <string name="allPerms" msgid="1024385515840703981">"Sve"</string>
+ <string name="privacyPerms" msgid="1850527049572617">"Privatnost"</string>
+ <string name="devicePerms" msgid="6733560207731294504">"Pristup uređaju"</string>
+ <string name="no_new_perms" msgid="6657813692169565975">"Za ovo ažuriranje nisu potrebne nove dozvole."</string>
+ <string name="grant_confirm_question" msgid="4690289297029223742">"Želite li dati sljedeće dozvole? Odobrit ćete pristup:"</string>
+ <string name="grant_dialog_button_deny" msgid="2176510645406614340">"Odbij"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Odbij svakako"</string>
+ <string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> od <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Želite li dozvoliti aplikaciji &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; da <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Dozvoli"</string>
+ <string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Aplikacije"</string>
+ <string name="app_permissions" msgid="3146758905824597178">"Odobrenja za aplikacije"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Ne pitaj ponovo"</string>
+ <string name="no_permissions" msgid="3210542466245591574">"Nijedno odobrenje"</string>
+ <string name="additional_permissions" msgid="6667573114240111763">"Dodatna odobrenja"</string>
+ <plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
+ <item quantity="one">još <xliff:g id="COUNT_1">%1$d</xliff:g></item>
+ <item quantity="few">još <xliff:g id="COUNT_1">%1$d</xliff:g></item>
+ <item quantity="other">još <xliff:g id="COUNT_1">%1$d</xliff:g></item>
+ </plurals>
+ <string name="old_sdk_deny_warning" msgid="3872277112584842615">"Ova aplikacija je kreirana za stariju verziju Androida. Odbijanje odobrenja može uzrokovati da ona više ne funkcionira onako kako je primarno zamišljeno."</string>
+ <string name="default_permission_description" msgid="4992892207044156668">"izvrši nepoznatu radnju"</string>
+ <string name="app_permissions_group_summary" msgid="4787239772223699263">"Aplikacije sa odobrenjem: <xliff:g id="COUNT_0">%1$d</xliff:g> od <xliff:g id="COUNT_1">%2$d</xliff:g>"</string>
+ <string name="menu_show_system" msgid="6773743421743728921">"Prikaži sistemske"</string>
+ <string name="menu_hide_system" msgid="7595471742649432977">"Sakrij sistemske"</string>
+ <string name="permission_title" msgid="6495415273398916381">"Odobrenja za aplikaciju: <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="no_apps" msgid="1965493419005012569">"Nijedna aplikacija"</string>
+ <string name="location_settings" msgid="1774875730854491297">"Postavke lokacije"</string>
+ <string name="location_warning" msgid="8778701356292735971">"<xliff:g id="APP_NAME">%1$s</xliff:g> pruža usluge lokacije za ovaj uređaj. Pristup lokaciji se može izmijeniti u postavkama lokacije."</string>
+ <string name="system_warning" msgid="7103819124542305179">"Ukoliko odbijete ovo odobrenje, osnovne funkcije vašeg uređaja možda više neće funkcionirati onako kako je prvobitno zamišljeno."</string>
+ <string name="permission_summary_enforced_by_policy" msgid="3418617316188986205">"Nametnuto je pravilima"</string>
+ <string name="loading" msgid="7811651799620593731">"Učitava se…"</string>
+ <string name="all_permissions" msgid="5156669007784613042">"Sva odobrenja"</string>
+ <string name="other_permissions" msgid="2016192512386091933">"Ostale mogućnosti aplikacije"</string>
+ <string name="permission_request_title" msgid="1204446718549121199">"Zahtjev za odobrenjem"</string>
+ <string name="screen_overlay_title" msgid="3021729846864038529">"Otkriven je element koji prekriva sadržaj ekrana"</string>
+ <string name="screen_overlay_message" msgid="2141944461571677331">"Da promijenite postavku ovog odobrenja, prvo morate isključiti element koji prekriva sadržaj ekrana u odjeljku Postavke &gt; Aplikacije"</string>
+ <string name="screen_overlay_button" msgid="4344544843349937743">"Otvori postavke"</string>
+ <string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Instaliranje/deinstaliranje nije podržano na Wearu."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"Aplikacija <xliff:g id="APP_NAME_0">%1$s</xliff:g> je ažurirana. Želite li aplikaciji <xliff:g id="APP_NAME_1">%1$s</xliff:g> dopustiti pristup sljedećem?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Odaberite čemu aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> može pristupati"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> je ažurirana. Odaberite čemu ova aplikacija može pristupati."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Otkaži"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Nastavi"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Nova odobrenja"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Postojeća odobrenja"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Aplikacija se postavlja…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Nepoznato"</string>
+</resources>
diff --git a/res/values-ca-television/strings.xml b/res/values-ca-television/strings.xml
index a49c608a..9f764ab3 100644
--- a/res/values-ca-television/strings.xml
+++ b/res/values-ca-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Pots canviar-ho més endavant a Configuració &gt; Aplicacions"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Mostra les aplicacions del sistema"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Permisos de l\'aplicació"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Permisos de l\'aplicació"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Permisos de l\'aplicació <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Permisos addicionals"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Permisos de l\'aplicació <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index e6971748..e1318b46 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Vols instal·lar una actualització a aquesta aplicació existent? Les dades existents no es perdran. No cal cap tipus d\'accés especial."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Vols instal·lar una actualització a aquesta aplicació integrada? Les teves dades existents no es perdran. No cal cap tipus d\'accés especial."</string>
<string name="install_failed" msgid="6579998651498970899">"L\'aplicació no s\'ha instal·lat."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"El paquet s\'ha bloquejat perquè no es pugui instal·lar."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"El paquet no és compatible amb un paquet que té el mateix nom."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Aquesta aplicació no és compatible amb la teva tauleta."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Aquesta aplicació no és compatible amb el teu televisor."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Aquesta aplicació no és compatible amb el teu telèfon."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Sembla que el paquet està malmès."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Ja hi ha instal·lat un paquet amb el mateix nom i amb una signatura conflictiva."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Aquest paquet només funciona a les versions més recents d\'Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Aquesta aplicació no és compatible amb la tauleta."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Aquesta aplicació no és compatible amb el televisor."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Aquesta aplicació no és compatible amb el teu telèfon."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"El paquet especificat s\'ha suprimit abans que la instal·lació s\'hagi completat."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"El paquet no ha aprovat la verificació i no es pot instal·lar."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"S\'ha esgotat el temps d\'espera en provar de verif. el paquet. Prova de tornar-lo a instal·lar."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> no s\'ha pogut instal·lar a la tauleta."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> no s\'ha pogut instal·lar al televisor."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g> no s\'ha pogut instal·lar al telèfon."</string>
<string name="launch" msgid="4826921505917605463">"Obre"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Instal·lació bloquejada"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Per seguretat, la tauleta està def. per bloq. instal·lació d\'apl. que s\'obtenen de fonts desconegud."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Per seguretat, el televisor està configurat perquè no instal·li aplicacions de fonts desconegudes."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Per seguretat, el telèfon està configurat per bloquejar les aplicacions que procedeixin de fonts desconegudes."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"L\'administrador no permet instal·lar aplicacions que s\'hagin obtingut de fonts desconegudes."</string>
<string name="ok" msgid="3468756155452870475">"D\'acord"</string>
<string name="settings" msgid="6743583734099755409">"Configuració"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Nova font per a aplicacions"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> vol instal·lar altres aplicacions.\n \nVols permetre-ho ara i en el futur?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Gestiona les aplicacions"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Vols substituir l\'aplicació?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"L\'aplicació que estàs instal·lant en substituirà una altra.\n \nTotes les dades d\'usuari anteriors es desaran."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Vols desinstal·lar aquesta aplicació?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Vols desinstal·lar aquesta aplicació per a "<b>"tots"</b>" els usuaris? L\'aplicació i les seves dades se suprimiran per a "<b>"tots"</b>" els usuaris del dispositiu."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Vols desinstal·lar aquesta aplicació per a l\'usuari <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Vols substituir aquesta aplicació per la versió de fàbrica?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Si substitueixes aquesta aplicació per la versió de fàbrica, s\'esborraran totes les dades."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Si substitueixes aquesta aplicació per la versió de fàbrica, s\'esborraran totes les dades. Això afectarà tots els usuaris d\'aquest dispositiu, inclosos els que tinguin un perfil professional."</string>
<string name="uninstalling" msgid="5556217435895938250">"S\'està desinstal·lant..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Desinstal·lació finalitzada."</string>
<string name="uninstall_failed" msgid="631122574306299512">"S\'ha produït un error en la desinstal·lació."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"No es pot desinstal·lar perquè aquest paquet és administ. actiu d\'un dispositiu."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"No es pot desinstal·lar perquè el paquet és un administrador de dispositius actius per a l’usuari <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Aquesta aplicació es necessita per al perfil de Work i no es pot desinstal·lar."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"L\'aplicació cal en alguns usuaris o perfils i s\'ha desinstal·lat per a d\'altres"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Aquesta aplicació es necessita per al teu perfil i no es pot desinstal·lar."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"L\'administrador del dispositiu necessita l\'aplicació i no la pots desinstal·lar."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Gestiona els administradors del dispositiu"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Gestiona els usuaris"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> no s\'ha pogut desinstal·lar."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Error d\'anàlisi"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"S\'ha produït un problema en analitzar el paquet."</string>
<string name="newPerms" msgid="6039428254474104210">"Nous"</string>
<string name="allPerms" msgid="1024385515840703981">"Tots"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Accés al dispositiu"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Aquesta actualització no requereix permisos nous."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Vols concedir els permisos següents? S\'obtindrà accés a:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Permet"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Denega"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Denega de totes maneres"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> de <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Permetre que <xliff:g id="APP_NAME">%1$s</xliff:g> pugui <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Vols permetre a &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Permet"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Aplicacions"</string>
<string name="app_permissions" msgid="3146758905824597178">"Permisos d\'aplicacions"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"No el tornis a demanar"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"No m\'ho demanis més"</string>
<string name="no_permissions" msgid="3210542466245591574">"Sense permisos"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Més permisos"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -103,8 +100,8 @@
<string name="old_sdk_deny_warning" msgid="3872277112584842615">"Aquesta aplicació es va dissenyar per a una versió anterior d\'Android. És possible que no funcioni com està previst si li denegues el permís."</string>
<string name="default_permission_description" msgid="4992892207044156668">"dur a terme una acció desconeguda"</string>
<string name="app_permissions_group_summary" msgid="4787239772223699263">"<xliff:g id="COUNT_0">%1$d</xliff:g> de <xliff:g id="COUNT_1">%2$d</xliff:g> aplicacions permeses"</string>
- <string name="menu_show_system" msgid="6773743421743728921">"Mostra el sistema"</string>
- <string name="menu_hide_system" msgid="7595471742649432977">"Amaga el sistema"</string>
+ <string name="menu_show_system" msgid="6773743421743728921">"Mostra aplicacions del sistema"</string>
+ <string name="menu_hide_system" msgid="7595471742649432977">"Amaga aplicacions del sistema"</string>
<string name="permission_title" msgid="6495415273398916381">"Permisos de <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
<string name="no_apps" msgid="1965493419005012569">"Cap aplicació"</string>
<string name="location_settings" msgid="1774875730854491297">"Configuració d\'ubicació"</string>
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Per canviar la configuració de permisos, cal que desactivis la superposició de pantalla des de Configuració &gt; Aplicacions"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Obre Configuració"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Les accions d\'instal·lar o desinstal·lar no s\'admeten a Wear."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Les accions d\'instal·lar o de desinstal·lar no s\'admeten a Wear."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"S\'ha actualitzat <xliff:g id="APP_NAME_0">%1$s</xliff:g>. Vols permetre que <xliff:g id="APP_NAME_1">%1$s</xliff:g> tingui accés al següent?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Tria a què vols que tingui accés <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"S\'ha actualitzat <xliff:g id="APP_NAME">%1$s</xliff:g>. Tria a què vols que tingui accés aquesta aplicació."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Cancel·la"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Continua"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Permisos nous"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Permisos actuals"</string>
+ <string name="message_staging" msgid="6151794817691100003">"S\'està preparant la instal·lació de l\'aplicació…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Desconegut"</string>
</resources>
diff --git a/res/values-cs-television/strings.xml b/res/values-cs-television/strings.xml
index 5d1b2a26..ed2d8dc5 100644
--- a/res/values-cs-television/strings.xml
+++ b/res/values-cs-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Svoji volbu můžete později změnit v nabídce Nastavení &gt; Aplikace."</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Zobrazit systémové aplikace"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Oprávnění aplikací"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Oprávnění aplikací"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> – oprávnění"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Další oprávnění"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> – oprávnění"</string>
</resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index ecc9ce20..76f5942b 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Chcete nainstalovat aktualizaci této existující aplikace? Vaše existující data nebudou ztracena. Není vyžadován žádný zvláštní přístup."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Chcete nainstalovat aktualizaci této integrované aplikace? Vaše existující data nebudou ztracena. Není vyžadován žádný zvláštní přístup."</string>
<string name="install_failed" msgid="6579998651498970899">"Aplikaci nelze nainstalovat."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Instalace balíčku byla zablokována."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Balíček je v konfliktu se stávajícím balíčkem, který má stejný název."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Tato aplikace s vaším tabletem není kompatibilní."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Tato aplikace s vaší televizí není kompatibilní."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Tato aplikace s vaším telefonem není kompatibilní."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Zdá se, že je balíček poškozen."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Již je nainstalován balíček se stejným názvem a konfliktním podpisem."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Balíček funguje pouze v novějších verzích systému Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Tato aplikace není kompatibilní s vaším tabletem."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Tato aplikace s vaší televizí není kompatibilní."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Tato aplikace není kompatibilní s vaším telefonem."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Vybraný balíček byl smazán před dokončením instalace."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Balíček neprošel ověřením a nemůže být nainstalován."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Při ověřování tohoto balíčku vypršel časový limit. Zkuste jej nainstalovat znovu později."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"Aplikaci <xliff:g id="APP_NAME">%1$s</xliff:g> do tohoto tabletu nelze nainstalovat."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"Aplikaci <xliff:g id="APP_NAME">%1$s</xliff:g> se do televize nepodařilo nainstalovat."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"Aplikaci <xliff:g id="APP_NAME">%1$s</xliff:g> do tohoto telefonu nelze nainstalovat."</string>
<string name="launch" msgid="4826921505917605463">"Otevřít"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Instalace byla zablokována"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Tablet je z důvodu zabezpečení nastaven tak, aby blokoval instalace aplikací z neznámých zdrojů."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Z bezpečnostních důvodů je v televizi nastaveno blokování aplikací získaných z neznámých zdrojů."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Telefon je z důvodu zabezpečení nastaven tak, aby blokoval instalace aplikací z neznámých zdrojů."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Váš administrátor nedovoluje instalaci aplikací z neznámých zdrojů."</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"Nastavení"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Nový zdroj pro aplikace"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"Aplikace <xliff:g id="APP_NAME">%1$s</xliff:g> chce instalovat další aplikace.\n\nPovolit nyní i v budoucnu?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Spravovat aplikace"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Chcete aplikaci nahradit?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Aplikace, kterou instalujete, nahradí jinou aplikaci.\n\nVšechny předchozí uživatelské údaje budou uloženy."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Chcete tuto aplikaci odinstalovat?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Chcete tuto aplikaci odinstalovat "<b>"všem"</b>" uživatelům? Aplikace a její údaje budou odstraněny "<b>"všem"</b>" uživatelům tohoto zařízení."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Chcete tuto aplikaci pro uživatele <xliff:g id="USERNAME">%1$s</xliff:g> odinstalovat?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Chcete tuto aplikaci nahradit tovární verzí?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Chcete tuto aplikaci nahradit tovární verzí? Všechna data budou odstraněna."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Chcete tuto aplikaci nahradit tovární verzí? Všechna data budou odstraněna. Tato akce ovlivní všechny uživatele zařízení, včetně uživatelů s pracovním profilem."</string>
<string name="uninstalling" msgid="5556217435895938250">"Probíhá odinstalace..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Odinstalace byla dokončena."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Odinstalace se nezdařila."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Nelze odinstalovat, protože je tento balíček aktivním správcem zařízení."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Balíček nelze odinstalovat, protože je aktivním administrátorem zařízení pro uživatele <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Tato aplikace je pro váš pracovní profil požadována a nelze ji odinstalovat."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Tato aplikace je u některých uživatelů nebo profilů požadována, u ostatních byla odinstalována."</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Tato aplikace je pro váš profil požadována a nelze ji odinstalovat."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Tato aplikace je administrátorem zařízení vyžadována a nelze ji odinstalovat."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Spravovat správce zařízení"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Správa uživatelů"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"Aplikaci <xliff:g id="APP_NAME">%1$s</xliff:g> nelze odinstalovat."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Chyba analýzy"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Při analýze balíčku došlo k chybě."</string>
<string name="newPerms" msgid="6039428254474104210">"Nově"</string>
<string name="allPerms" msgid="1024385515840703981">"Vše"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Přístup k zařízení"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Tato aktualizace nevyžaduje žádná nová oprávnění."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Chcete udělit následující oprávnění? Získáte přístup k:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Povolit"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Odmítnout"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Zamítnout"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> z <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Povolit aplikaci <xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Povolit aplikaci &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Povolit"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Aplikace"</string>
<string name="app_permissions" msgid="3146758905824597178">"Oprávnění aplikací"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Již se znovu neptat"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Příště se neptat"</string>
<string name="no_permissions" msgid="3210542466245591574">"Žádná oprávnění"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Další oprávnění"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -121,5 +118,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Chcete-li změnit nastavení tohoto oprávnění, v Nastavení &gt; Aplikace je třeba nejprve vypnout překryvnou vrstvu obrazovky"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Otevřít nastavení"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Akce instalace/odinstalace nejsou v zařízení Wear podporovány."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Akce instalace/odinstalace nejsou v zařízení Wear podporovány."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"Aplikace <xliff:g id="APP_NAME_0">%1$s</xliff:g> byla aktualizována. Chcete aplikaci <xliff:g id="APP_NAME_1">%1$s</xliff:g> povolit přístup k následujícím položkám?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Určete, k čemu aplikaci <xliff:g id="APP_NAME">%1$s</xliff:g> povolíte přístup"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"Aplikace <xliff:g id="APP_NAME">%1$s</xliff:g> byla aktualizována. Určete, k čemu jí povolíte přístup."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Zrušit"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Pokračovat"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Nová oprávnění"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Aktuální oprávnění"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Příprava instalace…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Neznámá aplikace"</string>
</resources>
diff --git a/res/values-da-television/strings.xml b/res/values-da-television/strings.xml
index 5e28b62f..f9c0da29 100644
--- a/res/values-da-television/strings.xml
+++ b/res/values-da-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Du kan altid ændre dette i Indstillinger &gt; Apps"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Vis systemapps"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Apptilladelser"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Apptilladelser"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g>-tilladelser"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Flere tilladelser"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g>-tilladelser"</string>
</resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index b88dc3b6..921ca808 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Vil du installere en opdatering til denne eksisterende applikation? Dine eksisterende data vil ikke gå tabt. Det kræver ikke nogen særlig adgang."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Vil du installere en opdatering til denne indbyggede applikation? Dine eksisterende data vil ikke gå tabt. Det kræver ikke nogen særlig adgang."</string>
<string name="install_failed" msgid="6579998651498970899">"Appen blev ikke installeret."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Pakken blev blokeret i at blive installeret."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Pakken er i modstrid med en eksisterende pakke af samme navn."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Denne app er ikke kompatibel med din tablet."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Denne app er ikke kompatibel med dit fjernsyn."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Denne app er ikke kompatibel med din telefon."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Pakken ser ud til at være beskadiget."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Der er allerede installeret en eksisterende pakke med det samme navn og en modstridende signatur."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Pakken virker kun på nyere versioner af Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Denne app er ikke kompatibel med din tablet."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Denne app er ikke kompatibel med dit tv."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Denne app er ikke kompatibel med din telefon."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Den angivne pakke blev slettet, før installationen var gennemført."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Pakken kunne ikke bekræftes og kan derfor ikke installeres."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Der opstod timeout under forsøg på at bekræfte denne pakke. Prøv at installere den igen senere."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> kunne ikke installeres på din tablet."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> kunne ikke installeres på dit tv."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g> kunne ikke installeres på din telefon."</string>
<string name="launch" msgid="4826921505917605463">"Åbn"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Installationen er blokeret"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Din tablet er som sikkerhed indstillet til at blokere installation af apps fra ukendte kilder."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Dit tv er af sikkerhedshensyn konfigureret til at forhindre installering af apps fra ukendte kilder."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Din telefon er som sikkerhed indstillet til at blokere installation af apps fra ukendte kilder."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Din administrator tillader ikke installation af apps, der hentes fra ukendte kilder."</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"Indstillinger"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Ny kilde til apps"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> ønsker at installere andre apps.\n\nVil du tillade dette nu og i fremtiden?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Administrer apps"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Vil du udskifte appen?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Den app, du installerer, vil afløse en anden app.\n\nAlle dine tidligere brugerdata vil blive gemt."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Vil du afinstallere denne app?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Vil du afinstallere denne app for "<b>"alle"</b>" brugere? Applikationen og dens data vil blive fjernet fra "<b>"alle"</b>" brugere på denne enhed."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Vil du afinstallere denne app for brugeren <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Vil du erstatte denne app med fabriksversionen?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Vil du erstatte denne app med fabriksversionen? Alle data fjernes."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Vil du erstatte denne app med fabriksversionen? Alle data fjernes. Dette påvirker alle brugere af denne enhed, herunder de brugere, der har arbejdsprofiler."</string>
<string name="uninstalling" msgid="5556217435895938250">"Afinstallerer..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Afinstallationen er afsluttet."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Afinstallationen mislykkedes."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Der kan ikke afinstalleres, fordi denne pakke er en aktiv enhedsadministrator."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Pakken kan ikke afinstalleres. Den er aktiv enhedsadministrator for brugeren <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Denne app er nødvendig for din arbejdsprofil og kan ikke afinstalleres."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Denne app kræves for nogle brugere eller profiler og afinstalleres for andre"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Denne app er nødvendig for din profil og kan ikke afinstalleres."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Denne app er påkrævet af din enhedsadministrator og kan ikke afinstalleres."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Administrer enhedsadministratorer"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Administrer brugere"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> kunne ikke afinstalleres."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Parsingfejl"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Der opstod et problem med parsing af pakken."</string>
<string name="newPerms" msgid="6039428254474104210">"Ny"</string>
<string name="allPerms" msgid="1024385515840703981">"Alle"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Adgang til enheden"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Denne opdatering kræver ingen nye tilladelser."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Vil du give følgende tilladelser? Det vil få adgang til:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Tillad"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Afvis"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Afvis alligevel"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> ud af <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Vil du give <xliff:g id="APP_NAME">%1$s</xliff:g> tilladelse til at <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Vil du give &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; tilladelse til <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Tillad"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Apps"</string>
<string name="app_permissions" msgid="3146758905824597178">"Apptilladelser"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Spørg ikke igen"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Spørg ikke igen"</string>
<string name="no_permissions" msgid="3210542466245591574">"Ingen tilladelser"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Flere tilladelser"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Hvis du vil ændre denne indstilling for tilladelser, skal du først slå skærmoverlejringen fra i Indstillinger &gt; Apps"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Åbn indstillingerne"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Det er ikke muligt at installere/afinstallere på Wear."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Det er ikke muligt at installere/afinstallere på Wear."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> er blevet opdateret. Vil du give <xliff:g id="APP_NAME_1">%1$s</xliff:g> adgang til følgende?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Vælg, hvad <xliff:g id="APP_NAME">%1$s</xliff:g> må få adgang til"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> er blevet opdateret. Vælg, hvad denne app må få adgang til."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Annuller"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Fortsæt"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Nye tilladelser"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Aktuelle tilladelser"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Forbereder appen…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Ukendt"</string>
</resources>
diff --git a/res/values-de-television/strings.xml b/res/values-de-television/strings.xml
index 2eae5499..dc218e44 100644
--- a/res/values-de-television/strings.xml
+++ b/res/values-de-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Du kannst dies später unter \"Einstellungen &gt; Apps\" ändern."</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"System-Apps anzeigen"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"App-Berechtigungen"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"App-Berechtigungen"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Berechtigungen für <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Zusätzliche Berechtigungen"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Berechtigungen für <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 18e07523..077d587d 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Möchtest du ein Update für diese bestehende App installieren? Deine vorhandenen Daten bleiben erhalten. Die App benötigt keine besonderen Zugriffsrechte."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Möchtest du ein Update für diese integrierte App installieren? Deine vorhandenen Daten bleiben erhalten. Die App benötigt keine besonderen Zugriffsrechte."</string>
<string name="install_failed" msgid="6579998651498970899">"App wurde nicht installiert."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Die Installation des Pakets wurde blockiert."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Das Paket steht in Konflikt mit einem bestehenden Paket mit demselben Namen."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Diese App ist nicht mit deinem Tablet kompatibel."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Diese App ist nicht mit deinem Fernseher kompatibel."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Diese App ist nicht mit deinem Telefon kompatibel."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Das Paket ist offenbar beschädigt."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Ein Paket mit dem gleichen Namen, aber in Konflikt stehender Signatur, ist bereits installiert."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Das Paket funktioniert nur auf neueren Versionen von Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Diese App ist mit deinem Tablet nicht kompatibel."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Diese App ist nicht mit deinem Fernseher kompatibel."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Diese App ist mit deinem Telefon nicht kompatibel."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Das angegebene Paket wurde gelöscht, bevor die Installation abgeschlossen werden konnte."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Das Paket hat die Prüfung nicht bestanden und kann daher nicht installiert werden."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Bei der Paketüberprüfung ist eine Zeitüberschreitung aufgetreten. Wiederhole die Installation."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> konnte nicht auf deinem Tablet installiert werden."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> konnte nicht auf deinem Fernseher installiert werden."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g> konnte nicht auf deinem Telefon installiert werden."</string>
<string name="launch" msgid="4826921505917605463">"Öffnen"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Installation gesperrt"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Aus Sicherheitsgründen kannst du auf deinem Tablet keine Apps von unbekannten Quellen installieren."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Aus Sicherheitsgründen kannst du auf dem Fernseher keine Apps von unbekannten Quellen installieren."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Aus Sicherheitsgründen kannst du auf deinem Telefon keine Apps von unbekannten Quellen installieren."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Dein Administrator erlaubt die Installation von Apps aus unbekannten Quellen nicht."</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"Einstellungen"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Neue Quelle für Apps"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> möchte andere Apps installieren.\n\nMöchtest du dies jetzt und in Zukunft zulassen?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Apps verwalten"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"App ersetzen?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Die App, die du momentan installierst, wird eine andere App ersetzen.\n\nAlle deine bisherigen Nutzerdaten werden gespeichert."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Möchtest du diese App deinstallieren?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Möchtest du diese App für "<b>"alle"</b>" Nutzer entfernen? Die App und alle zugehörigen Daten werden für "<b>"alle"</b>" Nutzer des Geräts entfernt."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Möchtest du diese App für den Nutzer <xliff:g id="USERNAME">%1$s</xliff:g> deinstallieren?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Möchtest du diese App durch die Werksversion ersetzen?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Diese App durch die Werksversion ersetzen? Alle Daten werden entfernt."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Diese App durch die Werksversion ersetzen? Alle Daten werden entfernt. Dies betrifft alle Nutzer des Geräts, einschließlich Arbeitsprofilen."</string>
<string name="uninstalling" msgid="5556217435895938250">"Wird deinstalliert..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Deinstallation abgeschlossen"</string>
<string name="uninstall_failed" msgid="631122574306299512">"Deinstallation fehlgeschlagen"</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Deinstallation nicht möglich: Dieses Paket ist ein aktiver Geräteadministrator."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Deinstallation nicht möglich, Paket ist ein aktiver Geräteadministrator für <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Die App wird für dein Arbeitsprofil benötigt und kann nicht deinstalliert werden."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Diese App wird für einige Nutzer oder Profile benötigt und wurde für andere deinstalliert"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Diese App wird für dein Profil benötigt und kann nicht deinstalliert werden."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Die App wurde als obligatorisch festgelegt und kann nicht deinstalliert werden."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Geräteadministratoren verwalten"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Nutzer verwalten"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> konnte nicht deinstalliert werden."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Parsingfehler"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Beim Parsen des Pakets ist ein Problem aufgetreten."</string>
<string name="newPerms" msgid="6039428254474104210">"Neu"</string>
<string name="allPerms" msgid="1024385515840703981">"Alle"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Gerätezugriff"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Für dieses Update sind keine neuen Berechtigungen erforderlich."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Möchtest du die folgenden Berechtigungen gewähren? Sie ermöglichen den Zugriff auf Folgendes:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Zulassen"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Ablehnen"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Trotzdem ablehnen"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> von <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"<xliff:g id="APP_NAME">%1$s</xliff:g> ermöglichen, <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Zulassen, dass die App &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; <xliff:g id="ACTION">%2$s</xliff:g> darf?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Zulassen"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Apps"</string>
<string name="app_permissions" msgid="3146758905824597178">"App-Berechtigungen"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Nicht mehr fragen"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Nicht mehr fragen"</string>
<string name="no_permissions" msgid="3210542466245591574">"Keine Berechtigungen"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Zusätzliche Berechtigungen"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Um diese Berechtigungseinstellung zu ändern, musst du zunächst das Display-Overlay über \"Einstellungen\" &gt; \"Apps\" deaktivieren."</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Einstellungen öffnen"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Von Android Wear nicht unterstützte Aktionen installieren/deinstallieren."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Von Android Wear nicht unterstützte Aktionen installieren/deinstallieren."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> wurde aktualisiert. Darf <xliff:g id="APP_NAME_1">%1$s</xliff:g> auf folgende Berechtigungen zugreifen?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Worauf darf <xliff:g id="APP_NAME">%1$s</xliff:g> zugreifen?"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> wurde aktualisiert. Worauf darf diese App zugreifen?"</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Abbrechen"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Weiter"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Neue Berechtigungen"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Aktuelle Berechtigungen"</string>
+ <string name="message_staging" msgid="6151794817691100003">"App wird vorbereitet…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Unbekannt"</string>
</resources>
diff --git a/res/values-el-television/strings.xml b/res/values-el-television/strings.xml
index d50b1bd3..87e1b031 100644
--- a/res/values-el-television/strings.xml
+++ b/res/values-el-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Μπορείτε να το αλλάξετε αυτό αργότερα από το μενού Ρυθμίσεις &gt; Εφαρμογές"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Εμφάνιση εφαρμογών συστήματος"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Άδειες εφαρμογών"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Άδειες εφαρμογών"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Άδειες <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Πρόσθετες άδειες"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Άδειες <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index a4094cd5..a82a5562 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Θέλετε να εγκαταστήσετε μια ενημέρωση για αυτήν την υπάρχουσα εφαρμογή; Τα υπάρχοντα δεδομένα σας δεν θα χαθούν. Δεν απαιτείται ειδική πρόσβαση."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Θέλετε να εγκαταστήσετε μια ενημέρωση για αυτήν την ενσωματωμένη εφαρμογή; Τα υπάρχοντα δεδομένα σας δεν θα χαθούν. Δεν απαιτείται ειδική πρόσβαση."</string>
<string name="install_failed" msgid="6579998651498970899">"Η εφαρμογή δεν έχει εγκατασταθεί."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Η εγκατάσταση του πακέτου αποκλείστηκε."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Παρουσιάζεται διένεξη του πακέτου με ένα υπάρχον πακέτο με το ίδιο όνομα."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Αυτή η εφαρμογή δεν είναι συμβατή με το tablet σας."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Αυτή η εφαρμογή δεν είναι συμβατή με την τηλεόρασή σας."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Αυτή η εφαρμογή δεν είναι συμβατή με το τηλέφωνό σας."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Το πακέτο ενδέχεται να είναι κατεστραμμένο."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Υπάρχει ήδη εγκατεστημένο ένα πακέτο με το ίδιο όνομα και με προβληματική υπογραφή."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Το πακέτο λειτουργεί μόνο με νεότερες εκδόσεις του Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Αυτή η εφαρμογή δεν είναι συμβατή με το tablet σας."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Αυτή η εφαρμογή δεν είναι συμβατή με την τηλεόρασή σας."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Αυτή η εφαρμογή δεν είναι συμβατή με το τηλέφωνό σας."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Το καθορ. πακέτο διεγράφη πριν από την ολοκλ. της εγκατ."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Ανεπιτυχής επαλήθευση και αδυναμία εγκατάστασης."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Λήξη χρονικού ορίου κατά την επαλήθευση του πακέτου. Προσπαθήστε να το εγκαταστήσετε ξανά αργότερα."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"Δεν ήταν δυνατή η εγκατάσταση της εφαρμογής <xliff:g id="APP_NAME">%1$s</xliff:g> στο tablet σας."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"Η εφαρμογή <xliff:g id="APP_NAME">%1$s</xliff:g> δεν ήταν δυνατό να εγκατασταθεί στην τηλεόρασή σας."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"Δεν ήταν δυνατή η εγκατάσταση της εφαρμογής <xliff:g id="APP_NAME">%1$s</xliff:g> στο τηλέφωνό σας."</string>
<string name="launch" msgid="4826921505917605463">"Άνοιγμα"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Η εγκατάσταση αποκλείστηκε"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Για λόγους ασφαλείας, το tablet σας έχει ρυθμιστεί να αποκλείει την εγκατ. εφαρμ. από άγν. πηγές."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Για λόγους ασφάλειας, η τηλεόρασή σας αποκλείει την εγκατάσταση εφαρμογών από άγνωστες πηγές."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Για λόγους ασφαλείας, το τηλέφωνό σας έχει ρυθμιστεί να αποκλείει την εγκατ. εφαρμ. από άγν. πηγές."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Ο διαχειριστής σας δεν επιτρέπει την εγκατάσταση εφαρμογών που προέρχονται από άγνωστες πηγές."</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"Ρυθμίσεις"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Νέα πηγή για εφαρμογές"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"Η εφαρμογή <xliff:g id="APP_NAME">%1$s</xliff:g> θέλει να κάνει εγκατάσταση άλλων εφαρμογών.\n\nΝα επιτραπεί τώρα και στο μέλλον;"</string>
<string name="manage_applications" msgid="4033876279091996596">"Διαχείριση εφαρμογών"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Αντικατάσταση εφαρμογής;"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Η εφαρμογή που θέλετε να εγκαταστήσετε θα αντικαταστήσει μια άλλη εφαρμογή.\n\nΌλα τα προηγούμενα δεδομένα χρήστη σας θα αποθηκευτούν."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Θέλετε να καταργήσετε την εγκατάσταση αυτής της εφαρμογής;"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Θέλετε να καταργήσετε την εγκατάσταση αυτής της εφαρμογής για "<b>"όλους"</b>" τους χρήστες; Η εφαρμογή και τα δεδομένα της θα καταργηθούν από "<b>"όλους"</b>" τους χρήστες στη συσκευή."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Θέλετε να καταργήσετε την εγκατάσταση αυτής της εφαρμογής για το χρήστη <xliff:g id="USERNAME">%1$s</xliff:g>;"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Θέλετε να αντικαταστήσετε αυτήν την εφαρμογή με την εργοστασιακή έκδοση;"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Αντικατάσταση αυτής της εφαρμογής με την εργοστασιακή έκδοση; Όλα τα δεδομένα θα καταργηθούν."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Αντικατάσταση αυτής της εφαρμογής με την εργοστασιακή έκδοση; Όλα τα δεδομένα θα καταργηθούν. Αυτό επηρεάζει όλους τους χρήστες της συσκευής, συμπεριλαμβανομένων και αυτών με προφίλ εργασίας."</string>
<string name="uninstalling" msgid="5556217435895938250">"Κατάργηση εγκατάστασης..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Η κατάργηση εγκατάστασης ολοκληρώθηκε."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Μη επιτυχής κατάργηση εγκατάστασης."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Αδύνατη η κατάργηση της εγκατάστασης: το πακέτο είναι ενεργός διαχειρ. συσκευής."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Αδύνατη απεγκατάσταση, επειδή το πακέτο αποτελεί ενεργό διαχειριστή συσκευής για <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Αυτή η εφαρμογή απαιτείται για το προφίλ εργασίας και δεν είναι δυνατή η απεγκατάστασή της."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Η εφαρμογή απαιτείται για κάποιους χρήστες/προφίλ και απεγκαταστήθηκε για άλλους"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Αυτή η εφαρμογή απαιτείται για το προφίλ σας και δεν είναι δυνατή η απεγκατάστασή της."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Η εφαρμογή απαιτείται από το διαχειριστή και δεν είναι δυνατή η απεγκατάσταση."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Διαχείριση διαχειριστών συσκευής"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Διαχείριση χρηστών"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"Δεν ήταν δυνατή η κατάργηση της εγκατάστασης της εφαρμογής <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Σφάλμα ανάλυσης"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Παρουσιάστηκε ένα πρόβλημα κατά την ανάλυση του πακέτου."</string>
<string name="newPerms" msgid="6039428254474104210">"Νέο"</string>
<string name="allPerms" msgid="1024385515840703981">"Όλα"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Πρόσβαση συσκευής"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Αυτή η ενημέρωση δεν απαιτεί νέες άδειες."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Θέλετε να εκχωρήσετε τα ακόλουθα δικαιώματα; Συνεπάγεται πρόσβαση σε:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Να επιτραπεί"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Απόρριψη"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Απόρριψη"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> από <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Να επιτρέπεται στην εφαρμογή <xliff:g id="APP_NAME">%1$s</xliff:g> να <xliff:g id="ACTION">%2$s</xliff:g>;"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Να επιτρέπεται στην εφαρμογή &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; να <xliff:g id="ACTION">%2$s</xliff:g>;"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Να επιτραπεί"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Εφαρμογές"</string>
<string name="app_permissions" msgid="3146758905824597178">"Δικαιώματα εφ/γών"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Να μην γίνει ποτέ ξανά ερώτηση"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Να μην ερωτηθώ ξανά"</string>
<string name="no_permissions" msgid="3210542466245591574">"Χωρίς δικαιώματα"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Πρόσθετα δικαιώματα"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Για να αλλάξετε αυτή τη ρύθμιση άδειας, θα πρέπει πρώτα να απενεργοποιήσετε την επικάλυψη οθόνης από τις Ρυθμίσεις &gt; Εφαρμογές"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Άνοιγμα ρυθμίσεων"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Οι ενέργειες εγκατάστασης/απεγκατάστασης δεν υποστηρίζονται στο Wear."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Οι ενέργειες εγκατάστασης/απεγκατάστασης δεν υποστηρίζονται στο Wear."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"Η εφαρμογή <xliff:g id="APP_NAME_0">%1$s</xliff:g> έχει ενημερωθεί. Να επιτρέπεται στην εφαρμογή <xliff:g id="APP_NAME_1">%1$s</xliff:g> να έχει πρόσβαση στα παρακάτω;"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Επιλέξτε το περιεχόμενο στο οποίο θέλετε να επιτρέψετε την πρόσβαση της εφαρμογής <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"Η εφαρμογή <xliff:g id="APP_NAME">%1$s</xliff:g> έχει ενημερωθεί. Επιλέξτε το περιεχόμενο στο οποίο θέλετε να επιτρέψετε την πρόσβαση αυτής της εφαρμογής."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Ακύρωση"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Συνέχεια"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Νέες άδειες"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Τρέχουσες άδειες"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Σταδιακή διάθεση εφαρμογής…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Άγνωστη"</string>
</resources>
diff --git a/res/values-en-rAU-television/strings.xml b/res/values-en-rAU-television/strings.xml
index c081905a..663e1d4d 100644
--- a/res/values-en-rAU-television/strings.xml
+++ b/res/values-en-rAU-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"You can change this later in Settings &gt; Apps"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Show system apps"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"App permissions"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"App permissions"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> permissions"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Additional permissions"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> permissions"</string>
</resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 939ce47a..aa3486f2 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Do you want to install an update to this existing application? Your existing data will not be lost. It does not require any special access."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Do you want to install an update to this built-in application? Your existing data will not be lost. It does not require any special access."</string>
<string name="install_failed" msgid="6579998651498970899">"App not installed."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"The package was blocked from being installed."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"The package conflicts with an existing package by the same name."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"This app isn\'t compatible with your tablet."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"This app isn\'t compatible with your TV."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"This app isn\'t compatible with your phone."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"The package appears to be corrupt."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"An existing package by the same name with a conflicting signature is already installed."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"The package only works on newer versions of Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"This app isn\'t compatible with your tablet."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"This app isn\'t compatible with your TV."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"This app isn\'t compatible with your phone."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"The package specified was deleted before installation could be completed."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"The package did not pass verification and cannot be installed."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"A timeout occurred while trying to verify this package. Try to install it again later."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> couldn\'t be installed on your tablet."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> couldn\'t be installed on your TV."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g> couldn\'t be installed on your phone."</string>
<string name="launch" msgid="4826921505917605463">"Open"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Install blocked"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"For security, your tablet is set to block installation of apps obtained from unknown sources."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"For security, your TV is set to block installations of apps obtained from unknown sources."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"For security, your phone is set to block installation of apps obtained from unknown sources."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Your administrator doesn\'t allow installation of apps obtained from unknown sources."</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"Settings"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"New source for apps"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> wants to install other apps.\n\nAllow this now and in the future?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Manage apps"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Replace app?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"The app that you\'re installing will replace another app.\n\nAll your previous user data will be saved."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Do you want to uninstall this app?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Do you want to uninstall this app for "<b>"all"</b>" users? The application and its data will be removed from "<b>"all"</b>" users on the device."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Do you want to uninstall this app for the user <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Do you want to replace this app with the factory version?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Replace this app with the factory version? All data will be removed."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Replace this app with the factory version? All data will be removed. This affects all users of this device, including those with work profiles."</string>
<string name="uninstalling" msgid="5556217435895938250">"Uninstalling…"</string>
<string name="uninstall_done" msgid="3792487853420281888">"Uninstall finished"</string>
<string name="uninstall_failed" msgid="631122574306299512">"Uninstall unsuccessful."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Can\'t uninstall because this package is an active device administrator."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Can\'t uninstall because this package is an active device administrator for the user <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"This app is needed for your work profile and can\'t be uninstalled."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"This app is required for some users or profiles and was uninstalled for others"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"This app is needed for your profile and can\'t be uninstalled."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"This app is required by your device administrator and can\'t be uninstalled."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Manage device administrators"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Manage users"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> couldn\'t be uninstalled."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Parse error"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"There was a problem while parsing the package."</string>
<string name="newPerms" msgid="6039428254474104210">"New"</string>
<string name="allPerms" msgid="1024385515840703981">"All"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Device Access"</string>
<string name="no_new_perms" msgid="6657813692169565975">"This update requires no new permissions."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Do you want to grant the following permissions? It will get access to:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Allow"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Deny"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Deny anyway"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> of <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Allow <xliff:g id="APP_NAME">%1$s</xliff:g> to <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Allow &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; to <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Allow"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Apps"</string>
<string name="app_permissions" msgid="3146758905824597178">"App permissions"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Never ask again"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Don\'t ask again"</string>
<string name="no_permissions" msgid="3210542466245591574">"No permissions"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Additional permissions"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"To change this permission setting, you first have to turn off the screen overlay from Settings &gt; Apps"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Open settings"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Install/Uninstall actions not supported on Wear."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Install/Uninstall actions not supported on Wear."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> has been updated. Allow <xliff:g id="APP_NAME_1">%1$s</xliff:g> to access the following?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Choose what to allow <xliff:g id="APP_NAME">%1$s</xliff:g> to access"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> has been updated. Choose what to allow this app to access."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Cancel"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Continue"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"New permissions"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Current permissions"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Staging app…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Unknown"</string>
</resources>
diff --git a/res/values-en-rGB-television/strings.xml b/res/values-en-rGB-television/strings.xml
index c081905a..663e1d4d 100644
--- a/res/values-en-rGB-television/strings.xml
+++ b/res/values-en-rGB-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"You can change this later in Settings &gt; Apps"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Show system apps"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"App permissions"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"App permissions"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> permissions"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Additional permissions"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> permissions"</string>
</resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 939ce47a..aa3486f2 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Do you want to install an update to this existing application? Your existing data will not be lost. It does not require any special access."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Do you want to install an update to this built-in application? Your existing data will not be lost. It does not require any special access."</string>
<string name="install_failed" msgid="6579998651498970899">"App not installed."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"The package was blocked from being installed."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"The package conflicts with an existing package by the same name."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"This app isn\'t compatible with your tablet."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"This app isn\'t compatible with your TV."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"This app isn\'t compatible with your phone."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"The package appears to be corrupt."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"An existing package by the same name with a conflicting signature is already installed."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"The package only works on newer versions of Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"This app isn\'t compatible with your tablet."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"This app isn\'t compatible with your TV."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"This app isn\'t compatible with your phone."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"The package specified was deleted before installation could be completed."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"The package did not pass verification and cannot be installed."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"A timeout occurred while trying to verify this package. Try to install it again later."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> couldn\'t be installed on your tablet."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> couldn\'t be installed on your TV."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g> couldn\'t be installed on your phone."</string>
<string name="launch" msgid="4826921505917605463">"Open"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Install blocked"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"For security, your tablet is set to block installation of apps obtained from unknown sources."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"For security, your TV is set to block installations of apps obtained from unknown sources."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"For security, your phone is set to block installation of apps obtained from unknown sources."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Your administrator doesn\'t allow installation of apps obtained from unknown sources."</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"Settings"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"New source for apps"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> wants to install other apps.\n\nAllow this now and in the future?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Manage apps"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Replace app?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"The app that you\'re installing will replace another app.\n\nAll your previous user data will be saved."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Do you want to uninstall this app?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Do you want to uninstall this app for "<b>"all"</b>" users? The application and its data will be removed from "<b>"all"</b>" users on the device."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Do you want to uninstall this app for the user <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Do you want to replace this app with the factory version?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Replace this app with the factory version? All data will be removed."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Replace this app with the factory version? All data will be removed. This affects all users of this device, including those with work profiles."</string>
<string name="uninstalling" msgid="5556217435895938250">"Uninstalling…"</string>
<string name="uninstall_done" msgid="3792487853420281888">"Uninstall finished"</string>
<string name="uninstall_failed" msgid="631122574306299512">"Uninstall unsuccessful."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Can\'t uninstall because this package is an active device administrator."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Can\'t uninstall because this package is an active device administrator for the user <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"This app is needed for your work profile and can\'t be uninstalled."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"This app is required for some users or profiles and was uninstalled for others"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"This app is needed for your profile and can\'t be uninstalled."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"This app is required by your device administrator and can\'t be uninstalled."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Manage device administrators"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Manage users"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> couldn\'t be uninstalled."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Parse error"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"There was a problem while parsing the package."</string>
<string name="newPerms" msgid="6039428254474104210">"New"</string>
<string name="allPerms" msgid="1024385515840703981">"All"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Device Access"</string>
<string name="no_new_perms" msgid="6657813692169565975">"This update requires no new permissions."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Do you want to grant the following permissions? It will get access to:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Allow"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Deny"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Deny anyway"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> of <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Allow <xliff:g id="APP_NAME">%1$s</xliff:g> to <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Allow &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; to <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Allow"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Apps"</string>
<string name="app_permissions" msgid="3146758905824597178">"App permissions"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Never ask again"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Don\'t ask again"</string>
<string name="no_permissions" msgid="3210542466245591574">"No permissions"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Additional permissions"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"To change this permission setting, you first have to turn off the screen overlay from Settings &gt; Apps"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Open settings"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Install/Uninstall actions not supported on Wear."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Install/Uninstall actions not supported on Wear."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> has been updated. Allow <xliff:g id="APP_NAME_1">%1$s</xliff:g> to access the following?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Choose what to allow <xliff:g id="APP_NAME">%1$s</xliff:g> to access"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> has been updated. Choose what to allow this app to access."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Cancel"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Continue"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"New permissions"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Current permissions"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Staging app…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Unknown"</string>
</resources>
diff --git a/res/values-en-rIN-television/strings.xml b/res/values-en-rIN-television/strings.xml
index c081905a..663e1d4d 100644
--- a/res/values-en-rIN-television/strings.xml
+++ b/res/values-en-rIN-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"You can change this later in Settings &gt; Apps"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Show system apps"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"App permissions"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"App permissions"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> permissions"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Additional permissions"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> permissions"</string>
</resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 939ce47a..aa3486f2 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Do you want to install an update to this existing application? Your existing data will not be lost. It does not require any special access."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Do you want to install an update to this built-in application? Your existing data will not be lost. It does not require any special access."</string>
<string name="install_failed" msgid="6579998651498970899">"App not installed."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"The package was blocked from being installed."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"The package conflicts with an existing package by the same name."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"This app isn\'t compatible with your tablet."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"This app isn\'t compatible with your TV."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"This app isn\'t compatible with your phone."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"The package appears to be corrupt."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"An existing package by the same name with a conflicting signature is already installed."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"The package only works on newer versions of Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"This app isn\'t compatible with your tablet."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"This app isn\'t compatible with your TV."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"This app isn\'t compatible with your phone."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"The package specified was deleted before installation could be completed."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"The package did not pass verification and cannot be installed."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"A timeout occurred while trying to verify this package. Try to install it again later."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> couldn\'t be installed on your tablet."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> couldn\'t be installed on your TV."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g> couldn\'t be installed on your phone."</string>
<string name="launch" msgid="4826921505917605463">"Open"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Install blocked"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"For security, your tablet is set to block installation of apps obtained from unknown sources."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"For security, your TV is set to block installations of apps obtained from unknown sources."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"For security, your phone is set to block installation of apps obtained from unknown sources."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Your administrator doesn\'t allow installation of apps obtained from unknown sources."</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"Settings"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"New source for apps"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> wants to install other apps.\n\nAllow this now and in the future?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Manage apps"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Replace app?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"The app that you\'re installing will replace another app.\n\nAll your previous user data will be saved."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Do you want to uninstall this app?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Do you want to uninstall this app for "<b>"all"</b>" users? The application and its data will be removed from "<b>"all"</b>" users on the device."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Do you want to uninstall this app for the user <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Do you want to replace this app with the factory version?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Replace this app with the factory version? All data will be removed."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Replace this app with the factory version? All data will be removed. This affects all users of this device, including those with work profiles."</string>
<string name="uninstalling" msgid="5556217435895938250">"Uninstalling…"</string>
<string name="uninstall_done" msgid="3792487853420281888">"Uninstall finished"</string>
<string name="uninstall_failed" msgid="631122574306299512">"Uninstall unsuccessful."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Can\'t uninstall because this package is an active device administrator."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Can\'t uninstall because this package is an active device administrator for the user <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"This app is needed for your work profile and can\'t be uninstalled."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"This app is required for some users or profiles and was uninstalled for others"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"This app is needed for your profile and can\'t be uninstalled."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"This app is required by your device administrator and can\'t be uninstalled."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Manage device administrators"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Manage users"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> couldn\'t be uninstalled."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Parse error"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"There was a problem while parsing the package."</string>
<string name="newPerms" msgid="6039428254474104210">"New"</string>
<string name="allPerms" msgid="1024385515840703981">"All"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Device Access"</string>
<string name="no_new_perms" msgid="6657813692169565975">"This update requires no new permissions."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Do you want to grant the following permissions? It will get access to:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Allow"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Deny"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Deny anyway"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> of <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Allow <xliff:g id="APP_NAME">%1$s</xliff:g> to <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Allow &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; to <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Allow"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Apps"</string>
<string name="app_permissions" msgid="3146758905824597178">"App permissions"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Never ask again"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Don\'t ask again"</string>
<string name="no_permissions" msgid="3210542466245591574">"No permissions"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Additional permissions"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"To change this permission setting, you first have to turn off the screen overlay from Settings &gt; Apps"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Open settings"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Install/Uninstall actions not supported on Wear."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Install/Uninstall actions not supported on Wear."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> has been updated. Allow <xliff:g id="APP_NAME_1">%1$s</xliff:g> to access the following?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Choose what to allow <xliff:g id="APP_NAME">%1$s</xliff:g> to access"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> has been updated. Choose what to allow this app to access."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Cancel"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Continue"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"New permissions"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Current permissions"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Staging app…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Unknown"</string>
</resources>
diff --git a/res/values-es-rUS-television/strings.xml b/res/values-es-rUS-television/strings.xml
index 04aed2a0..f65681c2 100644
--- a/res/values-es-rUS-television/strings.xml
+++ b/res/values-es-rUS-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Puedes cambiar esta opción más tarde en Configuración &gt; Aplicaciones"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Mostrar aplicaciones del sistema"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Permisos de apps"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Permisos de apps"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Permisos de <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Permisos adicionales"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Permisos de <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 2c3165ae..14e7ab37 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"¿Quieres instalar una actualización de esta aplicación existente? Los datos existentes no se perderán. No se requiere ningún acceso especial."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"¿Quieres instalar una actualización de esta aplicación integrada? Los datos existentes no se perderán. No se requiere ningún acceso especial."</string>
<string name="install_failed" msgid="6579998651498970899">"No se instaló la aplicación."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Se bloqueó el paquete para impedir la instalación."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"El paquete está en conflicto con otro paquete existente que tiene el mismo nombre."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Esta app no es compatible con la tablet."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Esta app no es compatible con la TV."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Esta app no es compatible con el teléfono."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Parece que el paquete está dañado."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Un paquete existente del mismo nombre con una firma conflictiva ya está instalado."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"El paquete sólo funciona en las versiones más recientes de Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Tu tablet no admite esta aplicación."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Esta aplicación no es compatible con la TV."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Tu dispositivo no admite esta aplicación."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Se eliminó el paquete especificado antes de que la instalación pudiera completarse."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"El paquete no pasó la verificación y no se puede instalar."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"El tiempo de espera caducó durante la verificación de este paquete. Vuelve a intentarlo más tarde."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"No se pudo instalar <xliff:g id="APP_NAME">%1$s</xliff:g> en tu tablet."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"No se pudo instalar <xliff:g id="APP_NAME">%1$s</xliff:g> en la TV."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"No se pudo instalar <xliff:g id="APP_NAME">%1$s</xliff:g> en tu dispositivo."</string>
<string name="launch" msgid="4826921505917605463">"Abrir"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Instalación bloqueada"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Tu tablet se configuró para bloquear la instalación de aplicaciones de fuentes desconocidas."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Por seguridad, la TV se configuró para bloquear instalación de aplicaciones de fuentes desconocidas."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Tu dispositivo se configuró para bloquear la instalación de aplicaciones de fuentes desconocidas."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"El administrador no permite la instalación de aplicaciones que se obtuvieron de fuentes desconocidas."</string>
<string name="ok" msgid="3468756155452870475">"Aceptar"</string>
<string name="settings" msgid="6743583734099755409">"Configuración"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Nueva fuente de aplicaciones"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> desea instalar otras aplicaciones.\n\n¿Deseas permitirlo ahora y en el futuro?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Administrar aplicaciones"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"¿Deseas reemplazar la aplicación?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"La aplicación que estás instalando reemplazará a otra aplicación.\n\nSe guardarán todos tus datos de usuario anteriores."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"¿Deseas desinstalar esta aplicación?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"¿Quieres desinstalar esta aplicación para "<b>"todos"</b>" los usuarios? La aplicación y sus datos se eliminarán de "<b>"todos"</b>" los usuarios del dispositivo."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"¿Deseas desinstalar esta aplicación para el usuario <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"¿Deseas reemplazar esta aplicación con la versión de fábrica?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"¿Deseas reemplazar esta app con la versión de fábrica? Se quitarán todos los datos."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"¿Deseas reemplazar esta app con la versión de fábrica? Se quitarán todos los datos. Esta acción afectará a todos los usuarios de este dispositivo, incluidos los que poseen perfiles de trabajo."</string>
<string name="uninstalling" msgid="5556217435895938250">"Desinstalando…"</string>
<string name="uninstall_done" msgid="3792487853420281888">"La desinstalación finalizó."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Desinstalación incorrecta"</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"No se puede desinstalar este paquete porque es un admin. de dispositivos activo."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"No se puede desinstalar este paquete porque es un admin. de disp. activo para <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"El perfil de trabajo necesita esta aplicación, y no se puede desinstalar."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"App necesaria en algunos usuarios o perfiles, y desinstalada en otros"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Esta app es necesaria en tu perfil y no la puedes desinstalar."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"El admin. del dispositivo necesita esta aplicación y no se puede desinstalar."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Administrar los administradores de dispositivos"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Administrar usuarios"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"No se pudo desinstalar <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Error de análisis"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Se produjo un error durante el análisis del paquete."</string>
<string name="newPerms" msgid="6039428254474104210">"Nuevo"</string>
<string name="allPerms" msgid="1024385515840703981">"Todo"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Acceso al dispositivo"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Esta actualización no requiere permisos nuevos."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"¿Quieres conceder los permisos indicados a continuación? Esto dará acceso a:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Permitir"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Rechazar"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Denegar de todos modos"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> de <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"¿Permitir a <xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"¿Permitir que &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; realice la siguiente acción: <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Permitir"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Aplicaciones"</string>
<string name="app_permissions" msgid="3146758905824597178">"Permisos de aplicaciones"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"No volver a preguntar"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"No volver a preguntar"</string>
<string name="no_permissions" msgid="3210542466245591574">"Sin permisos"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Permisos adicionales"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Para cambiar esta configuración de permisos, primero debes desactivar la superposición de pantalla en Configuración &gt; Aplicaciones"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Abrir configuración"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"No se admiten las acciones de instalación y desinstalación en Wear."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Wear no admite las acciones de instalación y desinstalación"</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"Se actualizó <xliff:g id="APP_NAME_0">%1$s</xliff:g>. ¿Deseas otorgar los siguientes permisos de acceso a <xliff:g id="APP_NAME_1">%1$s</xliff:g>?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Selecciona los permisos de acceso para <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"Se actualizó <xliff:g id="APP_NAME">%1$s</xliff:g>. Selecciona los permisos de acceso para esta app."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Cancelar"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Continuar"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Permisos nuevos"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Permisos actuales"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Preparando app…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Desconocido"</string>
</resources>
diff --git a/res/values-es-television/strings.xml b/res/values-es-television/strings.xml
index 27074063..471bd6a9 100644
--- a/res/values-es-television/strings.xml
+++ b/res/values-es-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Puedes cambiar esta opción más tarde en Ajustes &gt; Aplicaciones"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Mostrar aplicaciones del sistema"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Permisos de aplicaciones"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Permisos de aplicaciones"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Permisos: <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Permisos adicionales"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Permisos: <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-es-watch/strings.xml b/res/values-es-watch/strings.xml
index 6d0c8af8..198c266f 100644
--- a/res/values-es-watch/strings.xml
+++ b/res/values-es-watch/strings.xml
@@ -21,5 +21,5 @@
<string name="preference_show_system_apps" msgid="7042886929865431207">"Mostrar aplicaciones del sistema"</string>
<string name="permission_summary_enforced_by_policy" msgid="9002523259681588936">"No se puede cambiar"</string>
<string name="generic_enabled" msgid="5221039415230005888">"HABILITADO"</string>
- <string name="generic_disabled" msgid="576339310027394867">"INHABILITADA"</string>
+ <string name="generic_disabled" msgid="576339310027394867">"INHABILITADO"</string>
</resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index d5e3059b..15e3b8af 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"¿Quieres instalar una actualización de esta aplicación? Tus datos no se perderán. No requiere ningún acceso especial."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"¿Quieres instalar una actualización de esta aplicación integrada? Tus datos no se perderán. No requiere ningún acceso especial."</string>
<string name="install_failed" msgid="6579998651498970899">"Aplicación no instalada"</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Se ha bloqueado la instalación del paquete."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Existe un conflicto entre el paquete y otro paquete con el mismo nombre."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Esta aplicación no es compatible con el tablet."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Esta aplicación no es compatible con tu TV."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Esta aplicación no es compatible con el teléfono."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Parece que el paquete está dañado."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Ya se ha instalado un paquete con el mismo nombre con una firma en conflicto."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Este paquete solo funciona en las versiones más recientes de Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Esta aplicación no es compatible con el tablet."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Esta aplicación no es compatible con tu TV."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Esta aplicación no es compatible con el teléfono."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"El paquete especificado se ha eliminado antes de que se completara la instalación."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"El paquete no ha superado el proceso de verificación y no se puede instalar."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Se ha agotado el tiempo de espera al intentar verificar este paquete. Prueba a instalarlo más tarde."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"No se ha podido instalar <xliff:g id="APP_NAME">%1$s</xliff:g> en el tablet."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> no se ha podido instalar en tu TV."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"No se ha podido instalar <xliff:g id="APP_NAME">%1$s</xliff:g> en el teléfono."</string>
<string name="launch" msgid="4826921505917605463">"Abrir"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Instalación bloqueada"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Por seguridad, el tablet se ha configurado para bloquear aplicaciones de orígenes desconocidos."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Por razones de seguridad, tu TV esta configurada para bloquear la instalación de aplicaciones procedentes de fuentes desconocidas."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Por seguridad, el teléfono se ha configurado para bloquear aplicaciones de orígenes desconocidos."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Tu administrador no permite la instalación de aplicaciones obtenidas de fuentes desconocidas."</string>
<string name="ok" msgid="3468756155452870475">"Aceptar"</string>
<string name="settings" msgid="6743583734099755409">"Ajustes"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Nueva fuente de aplicaciones"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> quiere instalar otras aplicaciones.\n\n¿Quieres permitirlo ahora y en el futuro?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Administrar aplicaciones"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"¿Sustituir aplicación?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"La aplicación que estás instalando sustituirá a otra aplicación.\n\nSe guardarán todos los datos de usuario anteriores."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"¿Quieres desinstalar esta aplicación?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"¿Quieres desinstalar esta aplicación para "<b>"todos"</b>" los usuarios? La aplicación y sus datos se eliminarán de "<b>"todos"</b>" los usuarios del dispositivo."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"¿Quieres desinstalar esta aplicación para el usuario <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"¿Quieres sustituir esta aplicación con la versión de fábrica?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"¿Quieres sustituir esta aplicación con la versión de fábrica? Ten en cuenta que se eliminarán todos los datos."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"¿Quieres sustituir esta aplicación con la versión de fábrica? Ten en cuenta que se eliminarán todos los datos. Esto afecta a todos los usuarios del dispositivo, incluidos los que tienen perfiles de trabajo."</string>
<string name="uninstalling" msgid="5556217435895938250">"Desinstalando..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Desinstalación completada"</string>
<string name="uninstall_failed" msgid="631122574306299512">"Desinstalación correcta"</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"No se puede desinstalar porque este paquete es un administrador de dispositivos activo."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"No se puede instalar porque este paquete es un administrador de dispositivos activos para el usuario <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Esta aplicación es necesaria para tu perfil de trabajo y no se puede desinstalar."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Aplicación necesaria para algunos usuarios o perfiles y desinstalada en otros casos"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Esta aplicación es necesaria para tu perfil y no se puede desinstalar."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Esta aplicación es necesaria para el administrador de tu dispositivo y no se puede desinstalar."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Gestionar administradores de dispositivos"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Administrar usuarios"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"No se ha podido desinstalar <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Error de análisis"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Se ha producido un error al analizar el paquete."</string>
<string name="newPerms" msgid="6039428254474104210">"Nuevo"</string>
<string name="allPerms" msgid="1024385515840703981">"Todos"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Acceso al dispositivo"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Esta actualización no requiere permisos nuevos."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"¿Quieres conceder los siguientes permisos? Podrá acceder a:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Permitir"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Rechazar"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Denegar de todos modos"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> de <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"¿Permitir que <xliff:g id="APP_NAME">%1$s</xliff:g> pueda <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"¿Permitir a &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Permitir"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Aplicaciones"</string>
<string name="app_permissions" msgid="3146758905824597178">"Permisos de aplicaciones"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"No volver a preguntar"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"No volver a preguntar"</string>
<string name="no_permissions" msgid="3210542466245591574">"Sin permisos"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Permisos adicionales"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Para cambiar la configuración de este permiso, desactiva la superposición de pantalla en Ajustes &gt; Aplicaciones"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Abrir ajustes"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"No puedes instalar ni desinstalar aplicaciones en Wear."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Las acciones de instalar y desinstalar no pueden realizarse en Wear"</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> se ha actualizado. ¿Quieres conceder a <xliff:g id="APP_NAME_1">%1$s</xliff:g> los siguientes permisos de acceso?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Elige los permisos de acceso que quieres conceder a <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> se ha actualizado. Elige los permisos de acceso que quieres conceder a esta aplicación."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Cancelar"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Continuar"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Permisos nuevos"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Permisos actuales"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Preparando aplicación…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Desconocido"</string>
</resources>
diff --git a/res/values-et-rEE-television/strings.xml b/res/values-et-rEE-television/strings.xml
index 8a66c249..b1e2a37c 100644
--- a/res/values-et-rEE-television/strings.xml
+++ b/res/values-et-rEE-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Saate seda hiljem muuta jaotises Seaded &gt; Rakendused"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Kuva süsteemirakendused"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Rakenduse load"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Rakenduse load"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Üksuse <xliff:g id="PERMISSION">%1$s</xliff:g> load"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Lisaload"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Üksuse <xliff:g id="PERMISSION">%1$s</xliff:g> load"</string>
</resources>
diff --git a/res/values-et-rEE/strings.xml b/res/values-et-rEE/strings.xml
index e600f68a..84609795 100644
--- a/res/values-et-rEE/strings.xml
+++ b/res/values-et-rEE/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Kas soovite installida olemasoleva rakenduse värskenduse? Olemasolevad andmed ei lähe kaduma. See ei nõua erijuurdepääsu."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Kas soovite installida sisseehitatud rakenduse värskenduse? Olemasolevad andmed ei lähe kaduma. See ei nõua erijuurdepääsu."</string>
<string name="install_failed" msgid="6579998651498970899">"Rakendus pole installitud."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Paketi installimine blokeeriti."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Pakett on vastuolus olemasoleva paketiga, millel on sama nimi."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Rakendus ei ühildu teie tahvelarvutiga."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Rakendus ei ühildu teie teleriga."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Rakendus ei ühildu teie telefoniga."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Pakett tundub olevat rikutud."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Sama nime ja vastuolus allkirjaga pakett on juba installitud."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Pakett töötab ainult Androidi uuemate versioonidega."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Rakendus ei ühildu teie tahvelarvutiga."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"See rakendus ei ühildu teie teleriga."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Rakendus ei ühildu teie telefoniga."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Määratud pakett kustutati enne, kui install lõpule jõudis."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Pakett ei läbinud kinnitamist ja seda ei saa installida."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Paketi kinnitamisel ilmnes ajalõpp. Proovige hiljem uuesti installida."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"Rakendust <xliff:g id="APP_NAME">%1$s</xliff:g> ei saa teie tahvelarvutisse installida."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"Rakendust <xliff:g id="APP_NAME">%1$s</xliff:g> ei saa teie telerisse installida."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"Rakendust <xliff:g id="APP_NAME">%1$s</xliff:g> ei saa teie telefoni installida."</string>
<string name="launch" msgid="4826921505917605463">"Ava"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Install blokeeritud"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Turvalisuse eesmärgil blokeerib tahvelarvuti tundmatutest allikatest pärit rakenduste installimise."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Turvakaalutlustel on teleris blokeeritud tundmatutest allikatest pärinevate rakenduste installimine."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Turvalisuse eesmärgil blokeerib telefon tundmatutest allikatest pärit rakenduste installimise."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Administraator ei luba installida tundmatutest allikatest pärinevaid rakendusi."</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"Seaded"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Uus rakendusteallikas"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> soovib installida muid rakendusi.\n\nKas soovite selle praegu ja tulevikus lubada?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Rakenduste haldamine"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Kas asendada rakendus?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Installitav rakendus asendab teise rakenduse.\n\nKõik teie varasemad kasutajaandmed salvestatakse."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Kas soovite selle rakenduse desinstallida?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Kas soovite desinstallida selle rakenduse "<b>"kõikidelt"</b>" kasutajatelt? Rakendus ja selle andmed eemaldatakse "<b>"kõikidelt"</b>" seadme kasutajatelt."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Kas soovite kasutaja <xliff:g id="USERNAME">%1$s</xliff:g> puhul rakenduse desinstallida?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Kas soovite selle rakenduse asendada tehaseversiooniga?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Kas asendada see rakendus tehaseversiooniga? Kõik andmed eemaldatakse."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Kas asendada see rakendus tehaseversiooniga? Kõik andmed eemaldatakse. See mõjutab kõiki seadme kasutajaid, sh neid, kellel on tööprofiilid."</string>
<string name="uninstalling" msgid="5556217435895938250">"Desinstallimine ..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Desinstallimine on lõpetatud."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Desinstallimine ebaõnnestus."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Ei saa desinstallida, sest pakett on aktiivse seadme administraator."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Desinstallida ei saa, sest pakett on kasutaja <xliff:g id="USERNAME">%1$s</xliff:g> aktiivne seadme administraator."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Seda rakendust on vaja teie tööprofiili jaoks ja seda ei saa desinstallida."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Rakendus on mõne kasutaja ja profiili puhul vajalik, teiste puhul see desinstalliti"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"See rakendus on vajalik teie profiili jaoks ja seda ei saa desinstallida."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Seadme administraator vajab seda rakendust ja seda ei saa desinstallida."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Halda seadme ülemaid"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Halda kasutajaid"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"Rakendust <xliff:g id="APP_NAME">%1$s</xliff:g> ei saanud desinstallida."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Sõelumise viga"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Probleem paketi sõelumisel."</string>
<string name="newPerms" msgid="6039428254474104210">"Uus"</string>
<string name="allPerms" msgid="1024385515840703981">"Kõik"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Seadme juurdepääs"</string>
<string name="no_new_perms" msgid="6657813692169565975">"See värskendus ei nõua uusi lube."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Kas soovite anda järgmise loa? See annab juurdepääsu järgmisele:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Lubamine"</string>
- <string name="grant_dialog_button_deny" msgid="2176510645406614340">"Keelamine"</string>
+ <string name="grant_dialog_button_deny" msgid="2176510645406614340">"Keela"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Keela ikkagi"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>-st"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Kas lubada rakendusel <xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Kas lubada rakendusele &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toiming <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Luba"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Rakendused"</string>
<string name="app_permissions" msgid="3146758905824597178">"Rakenduse load"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Ära enam küsi"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Ära enam küsi"</string>
<string name="no_permissions" msgid="3210542466245591574">"Lube ei ole"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Täiendavad load"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -103,8 +100,8 @@
<string name="old_sdk_deny_warning" msgid="3872277112584842615">"Rakendus on mõeldud Androidi vanemale versioonile. Kui keeldute loa andmisest, ei pruugi see ootuspäraselt töötada."</string>
<string name="default_permission_description" msgid="4992892207044156668">"tundmatu toiming"</string>
<string name="app_permissions_group_summary" msgid="4787239772223699263">"<xliff:g id="COUNT_0">%1$d</xliff:g> rakendust <xliff:g id="COUNT_1">%2$d</xliff:g>-st on lubatud"</string>
- <string name="menu_show_system" msgid="6773743421743728921">"Süsteemi kuvamine"</string>
- <string name="menu_hide_system" msgid="7595471742649432977">"Süsteemi peitmine"</string>
+ <string name="menu_show_system" msgid="6773743421743728921">"Kuva süsteem"</string>
+ <string name="menu_hide_system" msgid="7595471742649432977">"Peida süsteem"</string>
<string name="permission_title" msgid="6495415273398916381">"Üksuse <xliff:g id="PERMISSION">%1$s</xliff:g> load"</string>
<string name="no_apps" msgid="1965493419005012569">"Rakendusi pole"</string>
<string name="location_settings" msgid="1774875730854491297">"Asukohaseaded"</string>
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Selle loa seade muutmiseks peate esmalt välja lülitama ekraani ülekatte menüüs Seaded &gt; Rakendused"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Ava seaded"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Wear ei toeta installimist/desinstallimist."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Wear ei toeta installimist/desinstallimist."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"Rakendust <xliff:g id="APP_NAME_0">%1$s</xliff:g> värskendati. Kas anda rakendusele <xliff:g id="APP_NAME_1">%1$s</xliff:g> juurdepääs järgmisele?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Valige, millele lubate rakendusel <xliff:g id="APP_NAME">%1$s</xliff:g> juurde pääseda"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"Rakendust <xliff:g id="APP_NAME">%1$s</xliff:g> värskendati. Valige, millele lubate sellel rakendusel juurde pääseda."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Tühista"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Jätka"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Uued load"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Praegused load"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Rakenduse ettevalmistamine …"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Tundmatu"</string>
</resources>
diff --git a/res/values-eu-rES-television/strings.xml b/res/values-eu-rES-television/strings.xml
index 8442ad7a..907cf7d8 100644
--- a/res/values-eu-rES-television/strings.xml
+++ b/res/values-eu-rES-television/strings.xml
@@ -16,8 +16,13 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="grant_dialog_button_deny_dont_ask_again" msgid="5694574989758145558">"Baztertu eta ez galdetu berriro"</string>
+ <string name="grant_dialog_button_deny_dont_ask_again" msgid="5694574989758145558">"Ukatu eta ez galdetu berriro"</string>
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Hori geroago alda dezakezu Ezarpenak &gt; Aplikazioak atalean"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Erakutsi sistema-aplikazioak"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Aplikazio-baimenak"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Aplikazio-baimenak"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> erabiltzeko baimenak"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Baimen gehigarriak"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> erabiltzeko baimenak"</string>
</resources>
diff --git a/res/values-eu-rES/strings.xml b/res/values-eu-rES/strings.xml
index d358c1fd..e6bb23b5 100644
--- a/res/values-eu-rES/strings.xml
+++ b/res/values-eu-rES/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Aplikazioaren eguneratzea instalatu nahi duzu? Lehendik dauden datuak ez dira galduko. Ez du sarbide berezirik behar."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Aplikazio integratu honen eguneratzea instalatu nahi duzu? Lehendik dauden datuak ez dira galduko. Ez du sarbide berezirik behar."</string>
<string name="install_failed" msgid="6579998651498970899">"Ez da aplikazioa instalatu."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Blokeatu egin da paketea instalatzeko aukera."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Izen bereko beste pakete batekin gatazkan dago paketea."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Aplikazioa ez da tabletarekin bateragarria."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Aplikazioa ez da telebistarekin bateragarria."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Aplikazioa ez da telefonoarekin bateragarria."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Paketea hondatuta dagoela dirudi."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Izen bereko pakete bat instalatuta dago lehendik eta haren sinadurak gatazkak sortzen ditu."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Paketeak Android bertsio berriagoekin funtzionatzen du soilik."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Aplikazioa ez da zure tabletarekin bateragarria."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Aplikazioa ez da telebistarekin bateragarria."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Aplikazioa ez da zure telefonoarekin bateragarria."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Zehaztutako paketea instalazioa osatu aurretik ezabatu da."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Paketeak ez du egiaztapena gainditu eta ezin da instalatu."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Denbora-muga gainditu da paketea egiaztatzen saiatzean. Saiatu berriro instalatzen geroago."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"Ezin izan da <xliff:g id="APP_NAME">%1$s</xliff:g> tabletan instalatu."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"Ezin izan da instalatu <xliff:g id="APP_NAME">%1$s</xliff:g> telebistan."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"Ezin izan da <xliff:g id="APP_NAME">%1$s</xliff:g> telefonoan instalatu."</string>
<string name="launch" msgid="4826921505917605463">"Ireki"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Instalazioa blokeatu da"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Segurtasuna bermatzeko, iturburu ezezagunetako aplikazioak blokeatzeko dago konfiguratuta tableta."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Segurtasuna bermatzeko, iturburu ezezagunetako aplikazioak blokeatzeko dago konfiguratuta telebista."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Segurtasuna bermatzeko, iturburu ezezagunetako aplikazioak blokeatzeko dago konfiguratuta telefonoa."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Administratzaileak ez du onartzen iturburu ezezagunetako aplikazioak instalatzea."</string>
<string name="ok" msgid="3468756155452870475">"Ados"</string>
<string name="settings" msgid="6743583734099755409">"Ezarpenak"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Aplikazioen iturburu berria"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> aplikazioak beste aplikazio batzuk instalatu nahi ditu.\n\nOrain eta aurrerantzean hori egitea onartu nahi duzu?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Kudeatu aplikazioak"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Aplikazioa ordeztu nahi duzu?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Instalatzen ari zaren aplikazioak beste aplikazio bat ordezkatuko du.\n\nLehendik dituzun erabiltzaile-datu guztiak gordeko dira."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Aplikazioa desinstalatu nahi duzu?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Aplikazioa erabiltzaile "<b>"guztientzat"</b>" desinstalatu nahi duzu? Aplikazioa eta bere datu guztiak gailuko erabiltzaile "<b>"guztiei"</b>" ezabatuko zaizkie."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"<xliff:g id="USERNAME">%1$s</xliff:g> erabiltzailearen aplikazioa desinstalatu nahi duzu?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Aplikazioa jatorrizko bertsioarekin ordeztu nahi duzu?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Aplikazio hau jatorrizko bertsioarekin ordeztu nahi duzu? Datu guztiak ezabatuko dira."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Aplikazio hau jatorrizko bertsioarekin ordeztu nahi duzu? Datu guztiak ezabatuko dira. Gailuaren erabiltzaile guztiengan izango du eragina, laneko profilak dituztenengan barne."</string>
<string name="uninstalling" msgid="5556217435895938250">"Desinstalatzen…"</string>
<string name="uninstall_done" msgid="3792487853420281888">"Desinstalatu da."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Ezin izan da desinstalatu."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Ezin izan da desinstalatu paketea gailu-administratzaile aktiboa delako."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Ezin da desinstalatu, pakete hau <xliff:g id="USERNAME">%1$s</xliff:g> erabiltzailearen gailu-administratzaile aktiboa delako."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Aplikazioa laneko profilerako behar da eta ezin da desinstalatu."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Erabiltzaile edo profil batzuek behar dute aplikazio hau, baina desinstalatu egin da beste guztientzat."</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Zure profilak behar du aplikazio hau eta ezin da desinstalatu."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Gailuaren administratzaileak aplikazio hori behar du eta ezin da desinstalatu."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Kudeatu gailu-administratzaileak"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Kudeatu erabiltzaileak"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"Ezin izan da <xliff:g id="APP_NAME">%1$s</xliff:g> desinstalatu."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Analisi-errorea"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Arazo bat izan da paketea analizatzean."</string>
<string name="newPerms" msgid="6039428254474104210">"Berriak"</string>
<string name="allPerms" msgid="1024385515840703981">"Guztiak"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Gailurako sarbidea"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Eguneratze honek ez du baimen berririk behar."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Baimen hauek eman nahi dituzu? Hauetarako sarbidea lortzeko balioko dute:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Baimendu"</string>
- <string name="grant_dialog_button_deny" msgid="2176510645406614340">"Eragotzi"</string>
+ <string name="grant_dialog_button_deny" msgid="2176510645406614340">"Ukatu"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Ukatu hala ere"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"<xliff:g id="APP_NAME">%1$s</xliff:g> aplikazioari \"<xliff:g id="ACTION">%2$s</xliff:g>\" baimena eman nahi diozu?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; aplikazioak <xliff:g id="ACTION">%2$s</xliff:g> ahal izatea baimendu nahi duzu?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Baimendu"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Aplikazioak"</string>
<string name="app_permissions" msgid="3146758905824597178">"Aplikaziorako baimenak"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Ez galdetu berriro"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Ez galdetu berriro"</string>
<string name="no_permissions" msgid="3210542466245591574">"Ez dago baimenik"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Baimen gehigarriak"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Baimen-ezarpen hau aldatzeko, pantailaren gainjartzea desaktibatu behar duzu Ezarpenak &gt; Aplikazioak atalean"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Ireki ezarpenak"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Instalatzeko eta desinstalatzeko ekintzak ezin dira gauzatu Wear gailuetan."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Instalatzeko eta desinstalatzeko ekintzak ezin dira gauzatu Wear gailuetan."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"Eguneratu egin da <xliff:g id="APP_NAME_0">%1$s</xliff:g>. <xliff:g id="APP_NAME_1">%1$s</xliff:g> hauek atzitzeko gai izatea nahi duzu?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Aukeratu <xliff:g id="APP_NAME">%1$s</xliff:g> aplikazioak zer atzi dezakeen"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"Eguneratu egin da <xliff:g id="APP_NAME">%1$s</xliff:g>. Aukeratu aplikazioak zer atzi dezakeen."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Utzi"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Jarraitu"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Baimen berriak"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Uneko baimenak"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Aplikazioa prestatzen…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Ezezaguna"</string>
</resources>
diff --git a/res/values-fa-television/strings.xml b/res/values-fa-television/strings.xml
index a98545dc..95f2a54c 100644
--- a/res/values-fa-television/strings.xml
+++ b/res/values-fa-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"‏می‌توانید بعداً آن را در تنظیمات &gt; برنامه‌ها تغییر دهید"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"نمایش‌ برنامه‌های سیستم"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"مجوزهای برنامه"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"مجوزهای برنامه"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"مجوزهای <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"مجوزهای بیشتر"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"مجوزهای <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-fa-watch/strings.xml b/res/values-fa-watch/strings.xml
index 15029959..5dc5a3f6 100644
--- a/res/values-fa-watch/strings.xml
+++ b/res/values-fa-watch/strings.xml
@@ -21,5 +21,5 @@
<string name="preference_show_system_apps" msgid="7042886929865431207">"نمایش‌ برنامه‌های سیستم"</string>
<string name="permission_summary_enforced_by_policy" msgid="9002523259681588936">"نمی‌تواند تغییر کند"</string>
<string name="generic_enabled" msgid="5221039415230005888">"فعال شد"</string>
- <string name="generic_disabled" msgid="576339310027394867">"غیرفعال شد"</string>
+ <string name="generic_disabled" msgid="576339310027394867">"غیرفعال"</string>
</resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 09e20092..b6832f69 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"آیا می‌خواهید یک به‌روزرسانی برای این برنامه کاربردی موجود نصب کنید؟ داده‌های موجود شما از دست نخواهد رفت. به دسترسی ویژه‌ای نیاز ندارد."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"آیا می‌خواهید یک به‌روزرسانی برای این برنامه کاربردی داخلی نصب کنید؟ داده‌های موجود شما از دست نخواهد رفت. به دسترسی ویژه‌ای نیاز ندارد."</string>
<string name="install_failed" msgid="6579998651498970899">"برنامه نصب نشد."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"از نصب شدن بسته جلوگیری شد."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"بسته بارگذاری با یک بسته موجود با همین نام تداخل دارد."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"این برنامه با رایانه لوحی شما سازگار نیست."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"این برنامه با تلویزیون شما سازگار نیست."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"این برنامه با تلفن شما سازگار نیست."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"این بسته به نظر می‌رسد خراب است."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"بسته فعلی با همین نام اما با امضای مختلف قبلاً نصب شده است."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"‏این بسته فقط در نسخه‌های جدیدتر Android کار می‌کند."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"این برنامه با رایانهٔ لوحی شما سازگار نیست."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"این برنامه با تلویزیون شما سازگار نیست."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"این برنامه با تلفن شما سازگار نیست."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"بسته مشخص شده قبل از تکمیل نصب حذف شده است."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"این بسته مورد تأیید نیست و نمی‌تواند نصب شود."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"هنگام تأیید صحت این بسته، فرصت زمانی تمام شد. بعداً دوباره آن را نصب کنید."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> در رایانهٔ لوحی شما نصب نشد."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> را نمی‌توان روی تلویزیون شما نصب کرد."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g> در تلفن شما نصب نشد."</string>
<string name="launch" msgid="4826921505917605463">"باز کردن"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"نصب مسدود شد"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"برای امنیت، رایانه لوحی‌تان تنظیم شده تا نصب برنامه‌های دریافت شده از منابع ناشناس را مسدود کند."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"برای امنیت، تلویزیون شما طوری تنظیم شده است که نصب برنامه‌های به دست آمده از منابع ناشناس را مسدود کند."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"برای امنیت، تلقنتان تنظیم شده تا نصب برنامه‌های دریافت شده از منابع ناشناس را مسدود کند."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"سرپرست شما اجازه نمی‌دهد برنامه‌های دریافت شده از منابع ناشناس نصب شوند."</string>
<string name="ok" msgid="3468756155452870475">"تأیید"</string>
<string name="settings" msgid="6743583734099755409">"تنظیمات"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"منبع جدید برای برنامه‌ها"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> می‌خواهد برنامه‌های دیگری نصب کند.\n\nآیا اکنون و در آینده این اجازه را می‌دهید؟"</string>
<string name="manage_applications" msgid="4033876279091996596">"مدیریت برنامه‌ها"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"برنامه جایگزین شود؟"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"برنامه‌ای که دارید نصب می‌کنید جایگزین یک برنامهٔ دیگر خواهد شد.\n\nتمام داده‌های کاربری قبلی شما ذخیره خواهد شد."</string>
@@ -62,24 +56,26 @@
<string name="out_of_space_dlg_text" msgid="4774775404294282216">"<xliff:g id="APP_NAME">%1$s</xliff:g> نصب نمی‌شود. مقداری از فضا را آزاد کرده و دوباره امتحان کنید."</string>
<string name="dlg_ok" msgid="6944357727705699232">"تأیید"</string>
<string name="app_not_found_dlg_title" msgid="2692335460569505484">"برنامه یافت نشد"</string>
- <string name="app_not_found_dlg_text" msgid="6107465056055095930">"برنامه در لیست برنامه‌های نصب شده یافت نشد."</string>
+ <string name="app_not_found_dlg_text" msgid="6107465056055095930">"برنامه در فهرست برنامه‌های نصب شده یافت نشد."</string>
<string name="uninstall_application_title" msgid="1860074100811653963">"حذف نصب برنامه"</string>
<string name="uninstall_update_title" msgid="4146940097553335390">"حذف نصب به‌روزرسانی"</string>
<string name="uninstall_activity_text" msgid="6680688689803932550">"<xliff:g id="ACTIVITY_NAME">%1$s</xliff:g> قسمتی از برنامه زیر است:"</string>
<string name="uninstall_application_text" msgid="6691975835951187030">"می‌خواهید این برنامه را حذف نصب کنید؟"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"آیا می‌خواهید این برنامه را برای "<b>"همه"</b>" کاربران حذف کنید؟ این برنامه کاربردی و داده‌های آن برای "<b>"همه"</b>" کاربران این دستگاه حذف خواهد شد."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"آیا می‌خواهید این برنامه را برای این کاربر <xliff:g id="USERNAME">%1$s</xliff:g> حذف نصب کنید؟"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"آیا می‌خواهید این برنامه را با یک نسخه کارخانه جایگزین کنید؟"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"این برنامه با نسخه کارخانه جایگزین شود؟ همه داده‌ها پاک می‌شوند."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"این برنامه با نسخه کارخانه جایگزین شود؟ همه داده‌ها پاک می‌شوند. این کار همه کاربران این دستگاه (از جمله کاربرانی که نمایه کاری دارند) را تحت تأثیر قرار خواهد داد."</string>
<string name="uninstalling" msgid="5556217435895938250">"در حال حذف نصب..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"حذف نصب پایان یافت."</string>
<string name="uninstall_failed" msgid="631122574306299512">"حذف نصب انجام نشد."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"حذف نصب ممکن نیست، زیرا این بسته یک سرپرست دستگاه فعال است."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"حذف نصب ممکن نیست چون این بسته یک سرپرست دستگاه فعال برای کاربر <xliff:g id="USERNAME">%1$s</xliff:g> است."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"این برنامه برای نمایه کاری شما لازم است و نمی‌توان آن را حذف نصب کرد."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"این برنامه برای برخی کاربران یا نمایه‌ها ضروری است و برای بقیه حذف نصب شد"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"این برنامه برای نمایه شما لازم است و نمی‌توان آن را حذف نصب کرد."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"سرپرست دستگاه شما این برنامه را لازم کرده است و نمی‌تواند حذف نصب شود."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"مدیریت سرپرستان دستگاه"</string>
+ <string name="manage_users" msgid="3125018886835668847">"مدیریت کاربران"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> حذف نصب نشد."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"خطای تجزیه"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"مشکلی در تجزیه این بسته وجود داشت."</string>
<string name="newPerms" msgid="6039428254474104210">"جدید"</string>
<string name="allPerms" msgid="1024385515840703981">"همه موارد"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"دسترسی به دستگاه"</string>
<string name="no_new_perms" msgid="6657813692169565975">"این به‌روزرسانی به مجوز جدیدی نیاز ندارد."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"آیا می‌خواهید مجوزهای زیر را اعطا کنید؟ این مجوزها دسترسی به این موارد را بوجود می‌آورند:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"مجاز است"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"اجازه ندارد"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"در هر صورت نادیده گرفته شود"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> از <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"به <xliff:g id="APP_NAME">%1$s</xliff:g> برای <xliff:g id="ACTION">%2$s</xliff:g> اجازه می‌دهید؟"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"‏به&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; اجازه <xliff:g id="ACTION">%2$s</xliff:g> را می‌دهید؟"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"مجاز است"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"برنامه‌ها"</string>
<string name="app_permissions" msgid="3146758905824597178">"مجوزهای برنامه"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"دیگر هرگز سؤال نشود"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"دوباره سؤال نشود"</string>
<string name="no_permissions" msgid="3210542466245591574">"مجوزی موجود نیست"</string>
<string name="additional_permissions" msgid="6667573114240111763">"مجوزهای بیشتر"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"‏برای تغییر این تنظیم مجوز، ابتدا باید هم‌پوشانی صفحه را از «تنظیمات &gt; برنامه‌ها» خاموش کنید"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"باز کردن تنظیمات"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"‏نصب/حذف نصب عملکردها در Wear پشتیبانی نمی‌شود."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"‏عملکردهای نصب/حذف نصب در Wear پشتیبانی نمی‌شود."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> به‌روزرسانی شد. به <xliff:g id="APP_NAME_1">%1$s</xliff:g> برای دسترسی به موارد زیر اجازه می‌دهید؟"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"انتخاب کنید <xliff:g id="APP_NAME">%1$s</xliff:g> اجازه دارد به چه چیزی دسترسی داشته باشد"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> به‌روزرسانی شد. انتخاب کنید این برنامه اجازه دارد به چه چیزی دسترسی داشته باشد."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"لغو"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"ادامه"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"مجوزهای جدید"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"مجوزهای کنونی"</string>
+ <string name="message_staging" msgid="6151794817691100003">"مرحله‌بندی برنامه…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"نامشخص"</string>
</resources>
diff --git a/res/values-fi-television/strings.xml b/res/values-fi-television/strings.xml
index c17ae794..b5f561ba 100644
--- a/res/values-fi-television/strings.xml
+++ b/res/values-fi-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Voit muuttaa tätä myöhemmin valitsemalla Asetukset &gt; Sovellukset."</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Näytä järjestelmäsovellukset"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Sovelluksen käyttöoikeudet"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Sovelluksen käyttöoikeudet"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Käyttöoikeudet – <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Lisäkäyttöoikeudet"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Käyttöoikeudet – <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index e7999d36..2ab0e829 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Haluatko asentaa päivityksen tähän sovellukseen? Et menetä nykyisiä tietojasi. Päivitys ei edellytä erityisiä käyttöoikeuksia."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Haluatko asentaa päivityksen tähän laitteen mukana tulleeseen sovellukseen? Et menetä nykyisiä tietojasi. Päivitys ei edellytä erityisiä käyttöoikeuksia."</string>
<string name="install_failed" msgid="6579998651498970899">"Sovellusta ei asennettu."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Paketin asennus estettiin."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Paketti on ristiriidassa samannimisen olemassa olevan paketin kanssa."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Tämä sovellus ei ole yhteensopiva tablettisi kanssa."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Tämä sovellus ei ole yhteensopiva televisiosi kanssa."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Tämä sovellus ei ole yhteensopiva puhelimesi kanssa."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Paketti vaikuttaa olevan vahingoittunut."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Olet jo asentanut samannimisen paketin, jonka allekirjoitus on ristiriidassa tämän paketin kanssa."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Paketti toimii vain uudemmissa Android-versioissa."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Tämä sovellus ei ole yhteensopiva tablet-laitteesi kanssa."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Tämä sovellus ei ole yhteensopiva televisiosi kanssa."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Tämä sovellus ei ole yhteensopiva puhelimesi kanssa."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Määritetty paketti poistettiin ennen asennuksen suorittamista loppuun."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Paketti ei läpäissyt vahvistusta eikä sitä voida asentaa."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Aikaraja täyttyi pakettia vahvistettaessa. Yritä asentaa se myöhemmin uudelleen."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"Sovelluksen <xliff:g id="APP_NAME">%1$s</xliff:g> asentaminen tähän tablet-laitteeseen epäonnistui."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> ei asennu televisioosi."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"Sovelluksen <xliff:g id="APP_NAME">%1$s</xliff:g> asentaminen puhelimeesi ei onnistunut."</string>
<string name="launch" msgid="4826921505917605463">"Avaa"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Asennus estetty"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Turv.syistä tabletti on asetettu estämään tuntemattomista lähteistä hankittujen sovell. asennus."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Turvallisuussyistä televisioosi ei voi asentaa sovelluksia, joiden lähde on tuntematon."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Turv.syistä puhelimesi on asetettu estämään tuntemattomista lähteistä hankittujen sovell. asennus."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Järjestelmänvalvoja ei salli tuntemattomista lähteistä saatujen sovellusten asentamista."</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"Asetukset"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Uusi lähde sovelluksille"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> haluaa asentaa muita sovelluksia.\n\nSallitaanko tämä nyt ja tulevaisuudessa?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Hallinnoi sovelluksia"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Korvataanko sovellus?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Sovellus, jota olet asentamassa, korvaa toisen sovelluksen.\n\nKaikki aikaisemmat käyttäjätiedot tallennetaan."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Haluatko poistaa tämän sovelluksen?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Haluatko poistaa tämän sovelluksen "<b>"kaikilta"</b>" käyttäjiltä? Sovellus ja sen tiedot poistetaan "<b>"kaikilta"</b>" laitteen käyttäjiltä."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Haluatko poistaa tämän sovelluksen käyttäjältä <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Haluatko korvata tämän sovelluksen tehdasversiolla?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Haluatko korvata tämän sovelluksen tehdasversiolla? Kaikki tiedot poistetaan."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Haluatko korvata tämän sovelluksen tehdasversiolla? Kaikki tiedot poistetaan. Tämä vaikuttaa kaikkiin laitteen käyttäjiin, myös työprofiileihin."</string>
<string name="uninstalling" msgid="5556217435895938250">"Poistetaan..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Poisto valmis."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Poisto epäonnistui."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Pakettia ei voi poistaa, koska se on aktiivinen laitteen ylläpitäjä."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Ei voi poistaa – paketti on käyttäjän <xliff:g id="USERNAME">%1$s</xliff:g> aktiivinen laitteen järjestelmänvalvoja."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Työprofiilisi käyttö edellyttää tätä sovellusta. Sovellusta ei voi poistaa."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Jotkin käyttäjät/profiilit tarvitsevat tätä sovellusta ja se poistettiin muista."</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Profiilisi käyttö edellyttää tätä sovellusta. Sovellusta ei voi poistaa."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Laitteen järjestelmänvalvoja tarvitsee tätä sovellusta eikä sitä voi poistaa."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Hallinnoi laitteen ylläpitäjiä"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Hallinnoi käyttäjiä"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"Sovelluksen <xliff:g id="APP_NAME">%1$s</xliff:g> poistaminen epäonnistui"</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Jäsennysvirhe"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Paketin jäsentämisessä esiintyi ongelma."</string>
<string name="newPerms" msgid="6039428254474104210">"Uusi"</string>
<string name="allPerms" msgid="1024385515840703981">"Kaikki"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Laitteen käyttö"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Tämä päivitys ei vaadi uusia käyttöoikeuksia."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Haluatko antaa seuraavat käyttöoikeudet? Sovellus saa käyttöönsä nämä kohteet:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Salli"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Estä"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Kiellä silti"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Saako <xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Sallitaanko toiminto <xliff:g id="ACTION">%2$s</xliff:g> sovellukselle &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Salli"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Sovellukset"</string>
<string name="app_permissions" msgid="3146758905824597178">"Sovelluksen käyttöoikeudet"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Älä kysy enää koskaan"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Älä kysy uudestaan"</string>
<string name="no_permissions" msgid="3210542466245591574">"Ei käyttöoikeuksia"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Lisäkäyttöoikeudet"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Ennen kuin voit muokata tätä käyttöoikeusasetusta, sinun täytyy poistaa näytön peittokuva käytöstä Asetukset-valikon Sovellukset-kohdasta."</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Avaa Asetukset"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Wear ei tue asennus- ja poistotoimintoja."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Wear ei tue asennus- ja poistotoimintoja."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> on päivitetty. Myönnetäänkö sovellukselle <xliff:g id="APP_NAME_1">%1$s</xliff:g> seuraavat käyttöoikeudet?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Valitse, mitä käyttöoikeuksia haluat myöntää sovellukselle <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> on päivitetty. Valitse, mitä käyttöoikeuksia haluat myöntää tälle sovellukselle."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Peruuta"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Jatka"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Uudet käyttöoikeudet"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Nykyiset käyttöoikeudet"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Valmistellaan sovellusta…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Tuntematon"</string>
</resources>
diff --git a/res/values-fr-rCA-television/strings.xml b/res/values-fr-rCA-television/strings.xml
index 31293c9f..f841756a 100644
--- a/res/values-fr-rCA-television/strings.xml
+++ b/res/values-fr-rCA-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Vous pourrez modifier ce choix plus tard dans le menu Paramètres &gt; Applications"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Afficher les applications système"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Autorisations de l\'application"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Autorisations de l\'application"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> autorisations"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Autorisations supplémentaires"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> autorisations"</string>
</resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 27c509bb..08074a3b 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Voulez-vous installer une mise à jour pour cette application? Vos données ne seront pas perdues. Aucun droit d\'accès spécial n\'est requis."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Voulez-vous installer une mise à jour pour cette application intégrée? Vos données existantes ne seront pas perdues. Aucun droit d\'accès spécial n\'est requis."</string>
<string name="install_failed" msgid="6579998651498970899">"Application non installée."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"L\'installation du paquet a été bloquée."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Le paquet est en conflit avec un paquet existant du même nom."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Cette application n\'est pas compatible avec votre tablette."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Cette application n\'est pas compatible avec votre téléviseur."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Cette application n\'est pas compatible avec votre téléphone."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Le paquet semble corrompu."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Un paquet portant le même nom accompagné d\'une signature différente est déjà installé."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Le paquet est uniquement compatible avec les dernières versions d\'Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Cette application n\'est pas compatible avec votre tablette."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Cette application n\'est pas compatible avec votre téléviseur."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Cette application n\'est pas compatible avec votre téléphone."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Le paquet spécifié a été supprimé avant la finalisation de l\'installation."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Impossible d\'installer le paquet, car il ne répond pas aux critères de validation."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Expiration du délai lors de la tentative de validation de ce paquet. Réinstallez-le plus tard."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"Impossible d\'installer <xliff:g id="APP_NAME">%1$s</xliff:g> sur cette tablette."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> n\'a pas pu être installée sur votre téléviseur."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"Impossible d\'installer <xliff:g id="APP_NAME">%1$s</xliff:g> sur ce téléphone."</string>
<string name="launch" msgid="4826921505917605463">"Ouvrir"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Installation bloquée"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Pour plus de sécurité, votre tablette bloque l\'installation d\'applications de sources inconnues."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Votre téléviseur est configuré pour bloquer l\'installation d\'applications provenant de sources inconnues"</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Pour plus de sécurité, votre téléphone bloque l\'installation d\'applications de sources inconnues."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Votre administrateur n\'autorise pas l\'installation d\'applications obtenues à partir de sources inconnues."</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"Paramètres"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Nouvelle source pour les applications"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"Une demande d\'installation d\'autres applications a été initiée à partir de l\'application <xliff:g id="APP_NAME">%1$s</xliff:g>\n\nVoulez-vous autoriser cette installation, ainsi que d\'autres à l\'avenir?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Gérer les applications"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Remplacer l\'application?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"L\'application que vous installez va en remplacer une autre.\n\nToutes vos données d\'utilisateur précédentes vont être enregistrées."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Voulez-vous désinstaller cette application?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Voulez-vous désinstaller cette application pour "<b>"tous"</b>" les utilisateurs? L\'application et ses données seront supprimées pour "<b>"tous"</b>" les utilisateurs de l\'appareil."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Voulez-vous désinstaller cette application pour l\'utilisateur <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Voulez-vous rétablir la configuration d\'usine de cette application?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Remplacer cette application par la version d\'usine? Toutes les données seront supprimées."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Remplacer cette application par la version d\'usine? Toutes les données seront supprimées. Cela touchera tous les utilisateurs de cet appareil, y compris ceux qui utilisent un profil professionnel."</string>
<string name="uninstalling" msgid="5556217435895938250">"Désinstallation..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Désinstallation terminée."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Échec de la désinstallation."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Impossible de désinstaller ce paquet, car il s\'agit d\'un administrateur actif."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Désinst. imposs., car ce paquet est un administrateur d\'appareil actif pour <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Impossible de désinstaller l\'appli, car nécessaire pour profil professionnel."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Cette application est nécessaire pour certains utilisateurs ou profils, et elle a été désinstallée pour d\'autres."</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Cette application est nécessaire pour votre profil et ne peut pas être désinstallée."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Impossible de désinstaller l\'application : requise par administrateur appareil."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Gérer les administrateurs de l\'appareil"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Gérer les utilisateurs"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"Impossible de désinstaller <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Erreur d\'analyse"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Un problème est survenu lors de l\'analyse du paquet."</string>
<string name="newPerms" msgid="6039428254474104210">"Nouvelles"</string>
<string name="allPerms" msgid="1024385515840703981">"Toutes"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Accès à l\'appareil"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Cette mise à jour n\'exige pas de nouvelles autorisations."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Voulez-vous accorder les autorisations suivantes? Cette application aura accès aux éléments suivants :"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Autoriser"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Refuser"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Refuser quand même"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> de <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Autoriser <xliff:g id="APP_NAME">%1$s</xliff:g> à <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Autoriser &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; à <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Autoriser"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Applications"</string>
<string name="app_permissions" msgid="3146758905824597178">"Autorisations de l\'application"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Ne plus demander"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Ne plus demander"</string>
<string name="no_permissions" msgid="3210542466245591574">"Aucune autorisation"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Autorisations supplémentaires"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Pour modifier ce paramètre d\'autorisation, vous devez tout d\'abord désactiver la superposition d\'écran en accédant à Paramètres &gt; Applications."</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Ouvrir les paramètres"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Les actions d\'installation et de désinstallation ne sont pas prises en charge par Android Wear."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Les actions d\'installation et de désinstallation ne sont pas prises en charge par Android Wear."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> a été mis à jour. Autorisez-vous <xliff:g id="APP_NAME_1">%1$s</xliff:g> à accéder aux éléments suivants?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Définissez les autorisations d\'accès de <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> a été mis à jour. Définissez ses autorisations d\'accès."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Annuler"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Continuer"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Nouvelles autorisations"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Autorisations actuelles"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Pré-production de l\'application en cours…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Inconnue"</string>
</resources>
diff --git a/res/values-fr-television/strings.xml b/res/values-fr-television/strings.xml
index 68c673c1..2730f45b 100644
--- a/res/values-fr-television/strings.xml
+++ b/res/values-fr-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Vous pourrez modifier ce paramètre plus tard sous Paramètres &gt; Applications."</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Afficher les applications système"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Autorisations de l\'application"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Autorisations de l\'application"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Autorisations d\'accès aux données <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Autorisations supplémentaires"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Autorisations d\'accès aux données <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index a7ff6998..d7799aa1 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Voulez-vous installer une mise à jour pour cette application ? Vos données ne seront pas perdues. Aucun droit d\'accès spécial n\'est requis."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Voulez-vous installer une mise à jour pour cette application intégrée ? Vos données existantes ne seront pas perdues. Aucun droit d\'accès spécial n\'est requis."</string>
<string name="install_failed" msgid="6579998651498970899">"Application non installée."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"L\'installation du package a été bloquée."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Le package est en conflit avec un autre package ayant le même nom."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Cette application n\'est pas compatible avec votre tablette."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Cette application n\'est pas compatible avec votre téléviseur."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Cette application n\'est pas compatible avec votre téléphone."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Le package semble corrompu."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Un package portant le même nom accompagné d\'une signature différente est déjà installé."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Le package est uniquement compatible avec les dernières versions d\'Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Cette application n\'est pas compatible avec votre tablette."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Cette application n\'est pas compatible avec votre téléviseur."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Cette application n\'est pas compatible avec votre téléphone."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Le package spécifié a été supprimé avant la finalisation de l\'installation."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Impossible d\'installer le package, car il ne répond pas aux critères de validation."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Expiration du délai lors de la tentative de validation de ce package. Veuillez le réinstaller ultérieurement."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"Impossible d\'installer <xliff:g id="APP_NAME">%1$s</xliff:g> sur cette tablette."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"Impossible d\'installer <xliff:g id="APP_NAME">%1$s</xliff:g> sur votre téléviseur."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"Impossible d\'installer <xliff:g id="APP_NAME">%1$s</xliff:g> sur ce téléphone."</string>
<string name="launch" msgid="4826921505917605463">"Ouvrir"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Installation bloquée"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Pour plus de sécurité, votre tablette bloque l\'installation d\'applications de sources inconnues."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"À des fins de sécurité, l\'installation des applis de source inconnue est bloquée sur ce téléviseur."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Pour plus de sécurité, votre téléphone bloque l\'installation d\'applications de sources inconnues."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Votre administrateur n\'autorise pas l\'installation d\'applications obtenues à partir de sources inconnues."</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"Paramètres"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Nouvelle source pour les applications"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"Une demande d\'installation d\'autres applications a été initiée à partir de l\'application <xliff:g id="APP_NAME">%1$s</xliff:g>.\n\nVoulez-vous autoriser cette installation, ainsi que d\'autres à l\'avenir ?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Gérer les applications"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Remplacer l\'application ?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"L\'application que vous installez va en remplacer une autre.\n\nToutes vos données d\'utilisateur précédentes vont être enregistrées."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Voulez-vous désinstaller cette application ?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Voulez-vous désinstaller cette application pour "<b>"tous"</b>" les utilisateurs ? L\'application et ses données seront supprimées pour "<b>"tous"</b>" les utilisateurs de l\'appareil."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Voulez-vous désinstaller cette application pour l\'utilisateur <xliff:g id="USERNAME">%1$s</xliff:g> ?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Voulez-vous rétablir la configuration d\'usine de cette application ?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Remplacer cette application par la version d\'usine ? Toutes les données seront supprimées."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Remplacer cette application par la version d\'usine ? Toutes les données seront supprimées. Tous les utilisateurs de cet appareil seront affectés, y compris ceux qui ont un profil professionnel."</string>
<string name="uninstalling" msgid="5556217435895938250">"Désinstallation..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Désinstallation terminée."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Échec de la désinstallation."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Impossible de désinstaller ce package, car il s\'agit d\'un administrateur actif."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Désinstallation imposs., car ce package est administrateur appareil actif pour <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Impossible de désinstaller appli, car nécessaire pour profil professionnel."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Cette application nécessaire pour certains utilisateurs ou profils a été désinstallée pour d\'autres."</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Impossible de désinstaller l\'application, car elle est nécessaire pour votre profil."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Impossible désinstaller appli, car elle est requise par administrateur appareil."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Gérer les administrateurs de l\'appareil"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Gérer les utilisateurs"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"Impossible de désinstaller <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Erreur d\'analyse"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Un problème est survenu lors de l\'analyse du package."</string>
<string name="newPerms" msgid="6039428254474104210">"Nouveautés"</string>
<string name="allPerms" msgid="1024385515840703981">"Toutes"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Accès à l\'appareil"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Cette mise à jour n\'exige pas de nouvelles autorisations."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Voulez-vous accorder les autorisations suivantes ? L\'utilisateur aura accès aux éléments suivants :"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Autoriser"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Refuser"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Refuser quand même"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> sur <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Autoriser <xliff:g id="APP_NAME">%1$s</xliff:g> à <xliff:g id="ACTION">%2$s</xliff:g> ?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Autoriser l\'application &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; à <xliff:g id="ACTION">%2$s</xliff:g> ?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Autoriser"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Applications"</string>
<string name="app_permissions" msgid="3146758905824597178">"Autoris. des applis"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Ne plus jamais demander"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Ne plus demander"</string>
<string name="no_permissions" msgid="3210542466245591574">"Aucune autorisation"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Autorisations supplémentaires"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Pour modifier ce paramètre d\'autorisation, vous devez tout d\'abord désactiver la superposition d\'écran en accédant à Paramètres &gt; Applications."</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Ouvrir les paramètres"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Opérations d\'installation et de désinstallation impossibles sur Android Wear"</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Opérations d\'installation et de désinstallation impossibles sur Android Wear"</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> a été mise à jour. Autoriser <xliff:g id="APP_NAME_1">%1$s</xliff:g> à accéder aux éléments suivants ?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Choisissez à quels éléments <xliff:g id="APP_NAME">%1$s</xliff:g> peut accéder"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> a été mise à jour. Choisissez à quels éléments cette application peut accéder."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Annuler"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Continuer"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Nouvelles autorisations"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Autorisations actuelles"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Pré-production de l\'application…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Inconnu"</string>
</resources>
diff --git a/res/values-gl-rES-television/strings.xml b/res/values-gl-rES-television/strings.xml
index 3d80f96c..01e84987 100644
--- a/res/values-gl-rES-television/strings.xml
+++ b/res/values-gl-rES-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Podes cambiar esta opción máis tarde en Configuración e aplicacións"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Mostrar aplicacións do sistema"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Permisos de aplicacións"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Permisos de aplicacións"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Permisos de <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Permisos adicionais"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Permisos de <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-gl-rES/strings.xml b/res/values-gl-rES/strings.xml
index 477169ea..dbc8d4a6 100644
--- a/res/values-gl-rES/strings.xml
+++ b/res/values-gl-rES/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Queres instalar unha actualización para esta aplicación? Non se perderán os teus datos existentes. Non require ningún acceso especial."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Queres instalar unha actualización para esta aplicación integrada? Non se perderán os teus datos existentes. Non require ningún acceso especial."</string>
<string name="install_failed" msgid="6579998651498970899">"Aplicación non instalada"</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Bloqueouse a instalación do paquete."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"O paquete entra en conflito cun paquete que xa ten o mesmo nome."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Esta aplicación non é compatible coa túa tableta."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Esta aplicación non é compatible coa túa televisión."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Esta aplicación non é compatible co teu teléfono."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Parece que o paquete está danado."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Actualmente hai un paquete instalado co mesmo nome e cunha sinatura en conflito."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"O paquete só funciona nas versións máis recentes de Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Esta aplicación non é compatible co teu tablet."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Esta aplicación non é compatible coa túa televisión."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Esta aplicación non é compatible co teu teléfono."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"O paquete especificado eliminouse antes de completar a instalación."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"O paquete non superou a verificación e non se pode instalar."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Superouse o tempo de espera mentres se tentaba verificar este paquete. Tenta instalalo de novo máis tarde."</string>
- <string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"Non se puido instalar <xliff:g id="APP_NAME">%1$s</xliff:g> no teu tablet."</string>
+ <string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"Non se puido instalar <xliff:g id="APP_NAME">%1$s</xliff:g> na túa tableta."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> non se puido instalar na túa televisión."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"Non se puido instalar <xliff:g id="APP_NAME">%1$s</xliff:g> no teu teléfono."</string>
<string name="launch" msgid="4826921505917605463">"Abrir"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Instalación bloqueada"</string>
- <string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Por seguridade, o tablet está definido para bloquear a instalación de apps de fontes descoñecidas."</string>
+ <string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Por seguridade, a tableta está definido para bloquear a instalación de apps de fontes descoñecidas."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Por seguranza, a TV está definida para bloquear a instalación de aplicacións de fontes descoñecidas."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Por seguridade, o teléfono está definido para bloquear a instalación de apps de fontes descoñecidas."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"O teu administrador non permite a instalación de aplicacións obtidas a partir de fontes descoñecidas."</string>
<string name="ok" msgid="3468756155452870475">"Aceptar"</string>
<string name="settings" msgid="6743583734099755409">"Configuración"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Nova fonte de aplicacións"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> quere instalar outras aplicacións.\n\nQueres permitilo agora e no futuro?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Xestionar aplicacións"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Substituír aplicación?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"A aplicación que estás instalando substituirá a outra aplicación.\n\nGardaranse todos os teus datos de usuario anteriores."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Queres desinstalar esta aplicación?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Queres desinstalar esta aplicación para "<b>"todos"</b>" os usuarios? A aplicación e os seus datos eliminaranse de "<b>"todos"</b>" os usuarios do dispositivo."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Queres desinstalar esta aplicación para o usuario <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Queres substituír esta aplicación pola versión de fábrica?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Queres substituír esta aplicación pola versión que viña de fábrica? Eliminaranse todos os datos."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Queres substituír esta aplicación pola versión que viña de fábrica? Eliminaranse todos os datos. Isto afectará a todos os usuarios do dispositivo, incluídos os que teñan perfís de traballo."</string>
<string name="uninstalling" msgid="5556217435895938250">"Desinstalando…"</string>
<string name="uninstall_done" msgid="3792487853420281888">"Desinstalación finalizada"</string>
<string name="uninstall_failed" msgid="631122574306299512">"Desinstalación incorrecta"</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Non se pode desinstalar porque o paquete é administrador de dispositivo activo."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Non se pode desinstalar porque este paquete actúa como un administrador de dispositivo activo para o usuario <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"O teu perfil de traballo necesita esta aplicación e non se pode desinstalar."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"A aplicación é necesaria para algúns usuarios ou perfís e estaba desinstalada para outros"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"O teu perfil necesita esta aplicación e non se pode desinstalar."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"O administrador do teu dispositivo necesita esta aplicación e non se pode desinstalar."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Xestionar administradores do dispositivo"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Administrar usuarios"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"Non se puido desinstalar <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Erro de análise"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Produciuse un problema ao analizar o paquete."</string>
<string name="newPerms" msgid="6039428254474104210">"Novo"</string>
<string name="allPerms" msgid="1024385515840703981">"Todos"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Acceso dispositivo"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Esta actualización non require novos permisos."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Queres conceder os seguintes permisos? Obterá acceso a:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Permitir"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Denegar"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Denegar igualmente"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> de <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Queres permitir que <xliff:g id="APP_NAME">%1$s</xliff:g> poida <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Queres permitir que &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Permitir"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Aplicacións"</string>
<string name="app_permissions" msgid="3146758905824597178">"Permisos de aplicacións"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Non volver preguntar"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Non preguntar de novo"</string>
<string name="no_permissions" msgid="3210542466245591574">"Sen permisos"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Permisos adicionais"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Para cambiar a configuración deste permiso, primeiro tes que desactivar a superposición da pantalla en Configuración &gt; Aplicacións"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Abrir configuración"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"As accións de instalar e desinstalar non son compatibles con Wear."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"As accións de instalar e desinstalar non son compatibles con Wear."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"Actualizouse <xliff:g id="APP_NAME_0">%1$s</xliff:g>. Queres permitir que <xliff:g id="APP_NAME_1">%1$s</xliff:g> acceda ao seguinte?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Escolle a que lle queres permitir o acceso a <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"Actualizouse <xliff:g id="APP_NAME">%1$s</xliff:g>. Escolle a que lle queres permitir o acceso a esta aplicación."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Cancelar"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Continuar"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Novos permisos"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Permisos actuais"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Probando aplicación…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Descoñecida"</string>
</resources>
diff --git a/res/values-gu-rIN-television/strings.xml b/res/values-gu-rIN-television/strings.xml
index cd0dd3c6..b0a40b6c 100644
--- a/res/values-gu-rIN-television/strings.xml
+++ b/res/values-gu-rIN-television/strings.xml
@@ -19,5 +19,10 @@
<string name="grant_dialog_button_deny_dont_ask_again" msgid="5694574989758145558">"નકારો અને ફરીથી પૂછશો નહીં"</string>
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"તમે પછીથી આને સેટિંગ્સ &gt; એપ્લિકેશન્સમાં બદલી શકો છો"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="preference_show_system_apps" msgid="7330308025768596149">"સિસ્ટમ એપ્લિકેશનો બતાવો"</string>
+ <string name="preference_show_system_apps" msgid="7330308025768596149">"સિસ્ટમ ઍપ્લિકેશનો બતાવો"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"ઍપ્લિકેશન પરવાનગીઓ"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"ઍપ્લિકેશન પરવાનગીઓ"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> પરવાનગીઓ"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"વધારાની પરવાનગીઓ"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> પરવાનગીઓ"</string>
</resources>
diff --git a/res/values-gu-rIN-watch/strings.xml b/res/values-gu-rIN-watch/strings.xml
index 3530b6a9..10ee4306 100644
--- a/res/values-gu-rIN-watch/strings.xml
+++ b/res/values-gu-rIN-watch/strings.xml
@@ -18,7 +18,7 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="grant_dialog_button_deny_dont_ask_again" msgid="5828565432145544298">"નકારો, ફરીથી પૂછશો નહીં"</string>
<string name="current_permission_template" msgid="6691830243038105737">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="preference_show_system_apps" msgid="7042886929865431207">"સિસ્ટમ એપ્લિકેશનો બતાવો"</string>
+ <string name="preference_show_system_apps" msgid="7042886929865431207">"સિસ્ટમ ઍપ્લિકેશનો બતાવો"</string>
<string name="permission_summary_enforced_by_policy" msgid="9002523259681588936">"બદલી શકતાં નથી"</string>
<string name="generic_enabled" msgid="5221039415230005888">"સક્ષમ કરેલ"</string>
<string name="generic_disabled" msgid="576339310027394867">"અક્ષમ કરેલ"</string>
diff --git a/res/values-gu-rIN/strings.xml b/res/values-gu-rIN/strings.xml
index 40951dd2..4dcef19c 100644
--- a/res/values-gu-rIN/strings.xml
+++ b/res/values-gu-rIN/strings.xml
@@ -24,62 +24,58 @@
<string name="cancel" msgid="8360346460165114585">"રદ કરો"</string>
<string name="unknown" msgid="4742479012767208045">"અજાણ્યું"</string>
<string name="installing" msgid="8613631001631998372">"ઇન્સ્ટોલ કરી રહ્યું છે…"</string>
- <string name="install_done" msgid="3682715442154357097">"એપ્લિકેશન ઇન્સ્ટોલ કરી."</string>
- <string name="install_confirm_question" msgid="7295206719219043890">"શું તમે આ એપ્લિકેશન ઇન્સ્ટોલ કરવા માંગો છો? તે આની ઍક્સેસ મેળવશે:"</string>
+ <string name="install_done" msgid="3682715442154357097">"ઍપ્લિકેશન ઇન્સ્ટોલ કરી."</string>
+ <string name="install_confirm_question" msgid="7295206719219043890">"શું તમે આ ઍપ્લિકેશન ઇન્સ્ટોલ કરવા માંગો છો? તે આની ઍક્સેસ મેળવશે:"</string>
<string name="install_confirm_question_no_perms" msgid="5918305641302873520">"શું તમે આ એપ્લિકેશનને ઇન્સ્ટોલ કરવા માંગો છો? તેને કોઈપણ વિશિષ્ટ ઍક્સેસની જરૂર નથી."</string>
<string name="install_confirm_question_update" msgid="4624159567361487964">"શું તમે આ અસ્તિત્વમાંની એપ્લિકેશનના અપડેટને ઇન્સ્ટોલ કરવા માગો છો? તમારો અસ્તિત્વમાંનો ડેટા ગુમ થશે નહીં. અપડેટ કરેલ એપ્લિકેશનને આની ઍક્સેસ મળશે:"</string>
<string name="install_confirm_question_update_system" msgid="1302330093676416336">"શું તમે આ બિલ્ટ-ઇન એપ્લિકેશનના અપડેટને ઇન્સ્ટોલ કરવા માગો છો? તમારો અસ્તિત્વમાંનો ડેટા ગુમ થશે નહીં. અપડેટ કરેલ એપ્લિકેશનને આની ઍક્સેસ મળશે:"</string>
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"શું તમે આ અસ્તિત્વમાંની એપ્લિકેશનના અપડેટને ઇન્સ્ટોલ કરવા માગો છો? તમારો અસ્તિત્વમાંનો ડેટા ગુમ થશે નહીં. તેને કોઈ વિશિષ્ટ ઍક્સેસની જરૂર હોતી નથી."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"શું તમે આ બિલ્ટ-ઇન એપ્લિકેશનના અપડેટને ઇન્સ્ટોલ કરવા માગો છો? તમારો અસ્તિત્વમાંનો ડેટા ગુમ થશે નહીં. તેને કોઈ વિશિષ્ટ ઍક્સેસની જરૂર હોતી નથી."</string>
- <string name="install_failed" msgid="6579998651498970899">"એપ્લિકેશન ઇન્સ્ટોલ કરેલ નથી."</string>
+ <string name="install_failed" msgid="6579998651498970899">"ઍપ્લિકેશન ઇન્સ્ટોલ કરેલ નથી."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"પૅકેજને ઇન્સ્ટૉલ થવાથી અવરોધિત કરવામાં આવ્યું હતું."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"પૅકેજનો સમાન નામ દ્વારા અસ્તિત્વમાંના પૅકેજ સાથે વિરોધ છે."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"આ અ‍ૅપ્લિકેશન તમારા ટેબ્લેટ સાથે સુસંગત નથી."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"આ અ‍ૅપ્લિકેશન તમારા ટીવી સાથે સુસંગત નથી."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"આ અ‍ૅપ્લિકેશન તમારા ફોન સાથે સુસંગત નથી."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"પૅકેજ દૂષિત થયેલો દેખાય છે."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"વિરોધાભાસી સહી સાથેનું સમાન નામવાળું અસ્તિત્વમાંનું પૅકેજે પહેલાંથી ઇન્સ્ટોલ કરેલ છે."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"પૅકેજ ફક્ત Android ના નવા સંસ્કરણો પર જ કાર્ય કરે છે."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"આ એપ્લિકેશન તમારા ટેબ્લેટ સાથે સુસંગત નથી."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"આ એપ્લિકેશન તમારા ટીવી સાથે સુસંગત નથી."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"આ એપ્લિકેશન તમારા ફોન સાથે સુસંગત નથી."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"ઉલ્લેખિત પૅકેજ ઇન્સ્ટોલેશન પૂર્ણ થાય તે પહેલાં જ કાઢી નખાયું હતું."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"પૅકેજ એ ચકાસણી પસાર કરી નથી અને ઇન્સ્ટોલ કરી શકાશે નહીં."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"આ પૅકેજને ચકાસવાનો પ્રયાસ કરતી વખતે સમયસમાપ્તિ થઈ. તેને પછીથી ફરી ઇન્સ્ટોલ કરવાનો પ્રયાસ કરો."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"તમારા ટેબ્લેટ પર <xliff:g id="APP_NAME">%1$s</xliff:g> ઇન્સ્ટોલ કરી શકાયું નથી."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"તમારા ટીવી પર <xliff:g id="APP_NAME">%1$s</xliff:g> ઇન્સ્ટોલ કરી શકાયું નથી."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"તમારા ફોન પર <xliff:g id="APP_NAME">%1$s</xliff:g> ઇન્સ્ટોલ કરી શકાયું નથી."</string>
<string name="launch" msgid="4826921505917605463">"ખોલો"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"ઇન્સ્ટોલ અવરોધિત કર્યો"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"સુરક્ષા માટે, તમારું ટેબ્લેટ, અજાણ સ્રોતોથી મેળવેલ એપ્લિકેશન્સના ઇન્સ્ટોલેશન માટે અવરોધિત પર સેટ કરેલ છે."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"સુરક્ષા માટે, તમારું ટીવી, અજાણ સ્રોતોથી મેળવેલ એપ્લિકેશન્સના ઇન્સ્ટોલેશન માટે અવરોધિત પર સેટ કરેલ છે."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"સુરક્ષા માટે, તમારો ફોન, અજાણ સ્રોતોથી મેળવેલ એપ્લિકેશન્સના ઇન્સ્ટોલેશન માટે અવરોધિત પર સેટ કરેલ છે."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"તમારા વ્યવસ્થાપક અજાણ સ્રોતોથી મેળવેલ એપ્લિકેશન્સના ઇન્સ્ટોલેશનની મંજૂરી આપતાં નથી."</string>
- <string name="ok" msgid="3468756155452870475">"ઑકે"</string>
+ <string name="ok" msgid="3468756155452870475">"ઓકે"</string>
<string name="settings" msgid="6743583734099755409">"સેટિંગ્સ"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"એપ્લિકેશનો માટે નવો સ્રોત"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> અન્ય એપ્લિકેશનો ઇન્સ્ટોલ કરવા માંગે છે.\n\nઆને હમણાં અને ભવિષ્યમાં મંજૂરી આપીએ?"</string>
<string name="manage_applications" msgid="4033876279091996596">"એપ્લિકેશન્સનું સંચાલન કરો"</string>
- <string name="dlg_app_replacement_title" msgid="1232230739563820951">"એપ્લિકેશન બદલીએ?"</string>
- <string name="dlg_app_replacement_statement" msgid="2992911899989907492">"તમે ઇન્સ્ટોલ કરી રહ્યાં છો તે એપ્લિકેશન બીજી એપ્લિકેશનનું સ્થાન લેશે.\n\nતમારો અગાઉનો તમામ ડેટા સાચવવામાં આવશે."</string>
- <string name="dlg_sys_app_replacement_statement" msgid="1900046590819605929">"આ એક સિસ્ટમ એપ્લિકેશન છે. \n\n તમારો પહેલાંનો બધો વપરાશકર્તા ડેટા સાચવવામાં આવશે."</string>
+ <string name="dlg_app_replacement_title" msgid="1232230739563820951">"ઍપ્લિકેશન બદલીએ?"</string>
+ <string name="dlg_app_replacement_statement" msgid="2992911899989907492">"તમે ઇન્સ્ટોલ કરી રહ્યાં છો તે ઍપ્લિકેશન બીજી ઍપ્લિકેશનનું સ્થાન લેશે.\n\nતમારો અગાઉનો તમામ ડેટા સાચવવામાં આવશે."</string>
+ <string name="dlg_sys_app_replacement_statement" msgid="1900046590819605929">"આ એક સિસ્ટમ ઍપ્લિકેશન છે. \n\n તમારો પહેલાંનો બધો વપરાશકર્તા ડેટા સાચવવામાં આવશે."</string>
<string name="out_of_space_dlg_title" msgid="7843674437613797326">"જગ્યાની બહાર"</string>
<string name="out_of_space_dlg_text" msgid="4774775404294282216">"<xliff:g id="APP_NAME">%1$s</xliff:g> ઇન્સ્ટોલ કરી શકાઈ નથી. થોડી જગ્યા ખાલી કરો અને ફરીથી પ્રયાસ કરો."</string>
- <string name="dlg_ok" msgid="6944357727705699232">"ઑકે"</string>
- <string name="app_not_found_dlg_title" msgid="2692335460569505484">"એપ્લિકેશન મળી નથી"</string>
- <string name="app_not_found_dlg_text" msgid="6107465056055095930">"ઇન્સ્ટોલ કરેલ એપ્લિકેશન્સની સૂચિમાં એપ્લિકેશન મળી નહોતી."</string>
- <string name="uninstall_application_title" msgid="1860074100811653963">"એપ્લિકેશન અનઇન્સ્ટોલ કરો"</string>
+ <string name="dlg_ok" msgid="6944357727705699232">"ઓકે"</string>
+ <string name="app_not_found_dlg_title" msgid="2692335460569505484">"ઍપ્લિકેશન મળી નથી"</string>
+ <string name="app_not_found_dlg_text" msgid="6107465056055095930">"ઇન્સ્ટોલ કરેલ ઍપ્લિકેશન્સની સૂચિમાં ઍપ્લિકેશન મળી નહોતી."</string>
+ <string name="uninstall_application_title" msgid="1860074100811653963">"ઍપ્લિકેશન અનઇન્સ્ટોલ કરો"</string>
<string name="uninstall_update_title" msgid="4146940097553335390">"અપડેટ અનઇન્સ્ટોલ કરો"</string>
<string name="uninstall_activity_text" msgid="6680688689803932550">"<xliff:g id="ACTIVITY_NAME">%1$s</xliff:g> એ નીચેની એપ્લિકેશનનો એક ભાગ છે:"</string>
<string name="uninstall_application_text" msgid="6691975835951187030">"શું તમે આ એપ્લિકેશનને અનઇન્સ્ટોલ કરવા માંગો છો?"</string>
- <string name="uninstall_application_text_all_users" msgid="5574704453233525222">"શું તમે "<b>"તમામ"</b>" વપરાશકર્તાઓ માટે આ એપ્લિકેશનને અનઇન્સ્ટોલ કરવા માગો છો? ઉપકરણ પરના "<b>"તમામ"</b>" વપરાશકર્તાઓમાંથી એપ્લિકેશન અને તેનો ડેટા દૂર કરવામાં આવશે."</string>
+ <string name="uninstall_application_text_all_users" msgid="5574704453233525222">"શું તમે "<b>"તમામ"</b>" વપરાશકર્તાઓ માટે આ ઍપ્લિકેશનને અનઇન્સ્ટોલ કરવા માગો છો? ઉપકરણ પરના "<b>"તમામ"</b>" વપરાશકર્તાઓમાંથી ઍપ્લિકેશન અને તેનો ડેટા દૂર કરવામાં આવશે."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"શું તમે <xliff:g id="USERNAME">%1$s</xliff:g> વપરાશકર્તા માટે આ એપ્લિકેશનને અનઇન્સ્ટોલ કરવા માગો છો?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"શું તમે આ એપ્લિકેશનને ફેક્ટરી સંસ્કરણ સાથે બદલવા માંગો છો?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"આ ઍપ્લિકેશનને ફેક્ટરી સંસ્કરણથી બદલીએ? તમામ ડેટા દૂર કરવામાં આવશે."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"આ ઍપ્લિકેશનને ફેક્ટરી સંસ્કરણથી બદલીએ? તમામ ડેટા દૂર કરવામાં આવશે. આનાથી કાર્ય પ્રોફાઇલ્સ સાથેના વપરાશકર્તાઓ સહિત આ ઉપકરણના તમામ વપરાશકર્તાઓ પ્રભાવિત થશે."</string>
<string name="uninstalling" msgid="5556217435895938250">"અનઇન્સ્ટોલ કરી રહ્યું છે..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"અનઇન્સ્ટોલ કરો સમાપ્ત થયું."</string>
<string name="uninstall_failed" msgid="631122574306299512">"અનઇન્સ્ટોલ કરવું અસફળ રહ્યું."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"અનઇન્સ્ટોલ કરી શકાતું નથી કારણ કે આ પૅકેજ એક સક્રિય ઉપકરણ વ્યવસ્થાપક છે."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"અનઇન્સ્ટોલ કરી શકાતું નથી કારણ કે આ પૅકેજ વપરાશકર્તા <xliff:g id="USERNAME">%1$s</xliff:g> માટે એક સક્રિય ઉપકરણ વ્યવસ્થાપક છે."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"તમારી કાર્ય પ્રોફાઇલ માટે આ એપ્લિકેશન જરૂરી છે અને અનઇન્સ્ટોલ કરી શકાતી નથી."</string>
- <string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"આ એપ્લિકેશન તમારા ઉપકરણ વ્યવસ્થાપક માટે આવશ્યક છે અને તે અનઇન્સ્ટોલ કરી શકાતી નથી."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"આ અ‍ૅપ્લિકેશન અમુક વપરાશકર્તાઓ અથવા પ્રોફાઇલ્સ માટે જરૂરી છે અને તે અન્ય લોકો માટે અનઇન્સ્ટૉલ કરી હતી"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"તમારી કાર્ય પ્રોફાઇલ માટે ઍપ્લિકેશન જરૂરી છે અને અનઇન્સ્ટૉલ કરી શકાતી નથી."</string>
+ <string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"આ ઍપ્લિકેશન તમારા ઉપકરણ વ્યવસ્થાપક માટે આવશ્યક છે અને તે અનઇન્સ્ટોલ કરી શકાતી નથી."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"ઉપકરણ વ્યવસ્થાપકોને સંચાલિત કરો"</string>
+ <string name="manage_users" msgid="3125018886835668847">"વપરાશકર્તાઓનું સંચાલન કરો"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> અનઇન્સ્ટોલ કરી શકાઈ નથી."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"વિશ્લેષણ ભૂલ"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"પૅકેજનું વિશ્લેષણ કરવામાં એક સમસ્યા આવી હતી."</string>
<string name="newPerms" msgid="6039428254474104210">"નવું"</string>
<string name="allPerms" msgid="1024385515840703981">"તમામ"</string>
@@ -87,37 +83,47 @@
<string name="devicePerms" msgid="6733560207731294504">"ઉપકરણ ઍક્સેસ"</string>
<string name="no_new_perms" msgid="6657813692169565975">"આ અપડેટને કોઈ નવી પરવાનગીઓની જરૂર નથી."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"શું તમે નીચેની પરવાનગીઓ આપવા માગો છો? તેને આની ઍક્સેસ મળશે:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"મંજૂરી આપો"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"નકારો"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"કોઇપણ રીતે નકારો"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g> માંથી <xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"<xliff:g id="APP_NAME">%1$s</xliff:g> ને <xliff:g id="ACTION">%2$s</xliff:g> મંજૂરી આપીએ?"</string>
- <string name="app_permissions_breadcrumb" msgid="3390836200791539264">"એપ્લિકેશનો"</string>
- <string name="app_permissions" msgid="3146758905824597178">"એપ્લિકેશન પરવાનગીઓ"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"ફરી ક્યારેય પૂછશો નહીં"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ને <xliff:g id="ACTION">%2$s</xliff:g> માટેની મંજૂરી આપીએ?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"મંજૂરી આપો"</string>
+ <string name="app_permissions_breadcrumb" msgid="3390836200791539264">"ઍપ્લિકેશનો"</string>
+ <string name="app_permissions" msgid="3146758905824597178">"ઍપ્લિકેશન પરવાનગીઓ"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"ફરીથી પૂછશો નહીં"</string>
<string name="no_permissions" msgid="3210542466245591574">"કોઈ પરવાનગીઓ નથી"</string>
<string name="additional_permissions" msgid="6667573114240111763">"વધારાની પરવાનગીઓ"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> વધુ</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> વધુ</item>
</plurals>
- <string name="old_sdk_deny_warning" msgid="3872277112584842615">"આ એપ્લિકેશન Android ના જુના સંસ્કરણ માટે તૈયાર કરવામાં આવી હતી. પરવાનગી નકારવાથી તે ધાર્યા પ્રમાણે બિલકુલ કાર્ય કરશે નહી."</string>
+ <string name="old_sdk_deny_warning" msgid="3872277112584842615">"આ ઍપ્લિકેશન Android ના જુના સંસ્કરણ માટે તૈયાર કરવામાં આવી હતી. પરવાનગી નકારવાથી તે ધાર્યા પ્રમાણે બિલકુલ કાર્ય કરશે નહી."</string>
<string name="default_permission_description" msgid="4992892207044156668">"એક અજાણી ક્રિયા કરો"</string>
<string name="app_permissions_group_summary" msgid="4787239772223699263">"<xliff:g id="COUNT_1">%2$d</xliff:g> માંથી <xliff:g id="COUNT_0">%1$d</xliff:g> એપ્લિકેશન્સને મંજૂરી છે"</string>
<string name="menu_show_system" msgid="6773743421743728921">"સિસ્ટમ બતાવો"</string>
<string name="menu_hide_system" msgid="7595471742649432977">"સિસ્ટમ છુપાવો"</string>
<string name="permission_title" msgid="6495415273398916381">"<xliff:g id="PERMISSION">%1$s</xliff:g> પરવાનગીઓ"</string>
- <string name="no_apps" msgid="1965493419005012569">"કોઇ એપ્લિકેશનો નથી"</string>
+ <string name="no_apps" msgid="1965493419005012569">"કોઇ ઍપ્લિકેશનો નથી"</string>
<string name="location_settings" msgid="1774875730854491297">"સ્થાન સેટિંગ્સ"</string>
<string name="location_warning" msgid="8778701356292735971">"<xliff:g id="APP_NAME">%1$s</xliff:g> એ આ ઉપકરણ માટે સ્થાન સેવાઓના પ્રદાતા છે. સ્થાન સેટિંગ્સમાંથી સ્થાન ઍક્સેસ સંશોધિત કરી શકાય છે."</string>
<string name="system_warning" msgid="7103819124542305179">"જો તમે આ પરવાનગી નકારો છો, તો તમારા ઉપકરણની મૂળભૂત સુવિધાઓ અપેક્ષા પ્રમાણે કાર્ય કરી શકશે નહીં."</string>
<string name="permission_summary_enforced_by_policy" msgid="3418617316188986205">"નીતિ દ્વારા લાગુ"</string>
<string name="loading" msgid="7811651799620593731">"લોડ કરી રહ્યું છે..."</string>
<string name="all_permissions" msgid="5156669007784613042">"બધી પરવાનગીઓ"</string>
- <string name="other_permissions" msgid="2016192512386091933">"અન્ય એપ્લિકેશન ક્ષમતાઓ"</string>
+ <string name="other_permissions" msgid="2016192512386091933">"અન્ય ઍપ્લિકેશન ક્ષમતાઓ"</string>
<string name="permission_request_title" msgid="1204446718549121199">"પરવાનગીની વિનંતી"</string>
<string name="screen_overlay_title" msgid="3021729846864038529">"સ્ક્રીન ઓવરલે મળ્યું"</string>
<string name="screen_overlay_message" msgid="2141944461571677331">"આ પરવાનગી સેટિંગ બદલવા માટે, તમારે પહેલા સેટિંગ્સ &gt; Apps માંથી સ્ક્રીન ઓવરલે બંધ કરવું પડશે"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"સેટિંગ્સ ખોલો"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Wear પર ઇન્સ્ટૉલ/અનઇન્સ્ટૉલ ક્રિયાઓ સમર્થિત નથી."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Wear પર ઇન્સ્ટૉલ/અનઇન્સ્ટૉલ ક્રિયાઓ સમર્થિત નથી."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> ને અપડેટ કરવામાં આવી છે. <xliff:g id="APP_NAME_1">%1$s</xliff:g> ને નીચેના માટે ઍક્સેસની મંજૂરી આપો."</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"<xliff:g id="APP_NAME">%1$s</xliff:g> ને શેના ઍક્સેસ માટેની મંજૂરી આપવી તે પસંદ કરો"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> ને અપડેટ કરવામાં આવી છે. આ ઍપ્લિકેશનને શેના ઍક્સેસ માટેની મંજૂરી આપવી તે પસંદ કરો."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"રદ કરો"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"ચાલુ રાખો"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"નવી પરવાનગીઓ"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"વર્તમાન પરવાનગીઓ"</string>
+ <string name="message_staging" msgid="6151794817691100003">"ઍપ્લિકેશન અમલમં છે..."</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"અજાણી"</string>
</resources>
diff --git a/res/values-hi-television/strings.xml b/res/values-hi-television/strings.xml
index 42010e11..e9b4bf76 100644
--- a/res/values-hi-television/strings.xml
+++ b/res/values-hi-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"आप इसे बाद में सेटिंग &gt; ऐप्‍स में बदल सकते हैं"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"सिस्टम ऐप्स दिखाएं"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"ऐप्लिकेशन अनुमतियां"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"ऐप्लिकेशन अनुमतियां"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> अनुमतियां"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"अतिरिक्त अनुमतियां"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> अनुमतियां"</string>
</resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 0f353d30..9149bc93 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"क्या आप इस मौजूदा ऐप्स में नई जानकारी इंस्टॉल करना चाहते हैं? आपका मौजूदा डेटा बना रहेगा. इसे किसी विशेष पहुंच की आवश्यकता नहीं होती."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"क्या आप इस अंतर्निहित एप में नई जानकारी इंस्टॉल करना चाहते हैं? आपका मौजूदा डेटा बना रहेगा. इसे किसी विशेष पहुंच की आवश्यकता नहीं होती."</string>
<string name="install_failed" msgid="6579998651498970899">"ऐप्स इंस्‍टॉल नहीं हुआ."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"पैकेज को इंस्टॉल होने से अवरुद्ध किया हुआ है."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"यह पैकेज इसी नाम के एक मौजूदा पैकेज के विरोध में है."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"यह ऐप आपके टैबलेट के संगत नहीं है."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"यह ऐप आपके टीवी के संगत नहीं है."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"यह ऐप आपके फ़ोन के संगत नहीं है."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"पैकेज दूषित दिखाई देता है."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"विरोधी हस्‍ताक्षर वाला समान नाम का एक मौजूदा पैकेज पहले से इंस्‍टॉल किया हुआ है."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"पैकेज केवल Android के नवीनतम संस्‍करणों पर कार्य करता है."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"यह ऐप्स आपके टेबलेट के संगत नहीं है."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"यह ऐप आपके टीवी के लिए उपयुक्त नहीं है."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"यह ऐप्स आपके फ़ोन के संगत नहीं है."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"नि‍र्दि‍ष्‍ट कि‍या गया पैकेज इंस्‍टॉल कि‍ए जाने से पहले ही हटा दि‍या गया था."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"पैकेज ने सत्‍यापन पास नहीं कि‍या और इंस्‍टॉल नहीं कि‍या जा सका."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"इस पैकेज को सत्‍यापित करते समय समयबाह्य हो गया. इसे बाद में पुन: इंस्‍टॉल करने का प्रयास करें."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> को आपके टेबलेट पर इंस्‍टॉल नहीं किया जा सका."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> को आपके टीवी पर इंस्‍टॉल नहीं किया जा सकता."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g> को आपके फ़ोन पर इंस्‍टॉल नहीं किया जा सका."</string>
<string name="launch" msgid="4826921505917605463">"खोलें"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"इंस्‍टॉल अवरोधित"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"सुरक्षा के लिए, आपका टेबलेट अज्ञात स्रोतों से मिले एप्‍लि. का इंस्‍टॉलेशन अवरुद्ध करने के लिए सेट है."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"सुरक्षा हेतु, अज्ञात स्रोतों से ऐप्‍स इंस्‍टॉलेशन आपके टीवी में अवरुद्ध है."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"सुरक्षा के लिए, आपका फ़ोन अज्ञात स्रोतों से मिले एप्‍लि. के इंस्‍टॉलेशन को अवरुद्ध करने के लिए सेट है."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"आपका व्यवस्थापक अज्ञात स्रोतों से प्राप्त ऐप्स को इंस्टॉल करने की अनुमति नहीं देता है."</string>
<string name="ok" msgid="3468756155452870475">"ठीक है"</string>
<string name="settings" msgid="6743583734099755409">"सेटिंग"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"ऐप्स के लिए नया स्रोत"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> अन्‍य एप्‍लि‍केशन इंस्‍टॉल करना चाहता है.\n\nइसकी अनुमति‍ अभी दें या बाद में?"</string>
<string name="manage_applications" msgid="4033876279091996596">"ऐप्स प्रबंधित करें"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"ऐप्स बदलें?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"आप जिस ऐप्स को इंस्‍टॉल कर रहे हैं वह दूसरे ऐप्स को बदल देगा.\n\nआपका सभी पिछला उपयोगकर्ता डेटा सहेज लिया जाएगा."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"क्‍या आप इस ऐप्स को अनइंस्‍टॉल करना चाहते हैं?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"क्या आप इस ऐप्स को "<b>"सभी"</b>" उपयोगकर्ताओं के लिए अनइंस्टॉल करना चाहते हैं? ऐप्स और उसके डेटा को डिवाइस पर "<b>"सभी"</b>" उपयोगकर्ताओं से निकाल दिया जाएगा."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"क्या आप उपयोगकर्ता <xliff:g id="USERNAME">%1$s</xliff:g> के लिए इस ऐप्स को अनइंस्टॉल करना चाहते हैं?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"क्‍या आप इस ऐप्स को फ़ैक्‍टरी वर्शन से बदलना चाहते हैं?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"इस ऐप्लिकेशन को फ़ैक्टरी वर्शन से बदलें? सभी डेटा निकाल दिया जाएगा."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"इस ऐप्लिकेशन को फ़ैक्टरी वर्शन से बदलें? सभी डेटा निकाल दिया जाएगा. यह इस डिवाइस के सभी उपयोगकर्ताओं को प्रभावित करेगा, जिनमें कार्य प्रोफ़ाइल वाले उपयोगकर्ता शामिल हैं."</string>
<string name="uninstalling" msgid="5556217435895938250">"अनइंस्‍टॉल कर रहा है…"</string>
<string name="uninstall_done" msgid="3792487853420281888">"अनइंस्‍टॉल करना पूर्ण हो गया."</string>
<string name="uninstall_failed" msgid="631122574306299512">"अनइंस्‍टॉल करना विफल."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"अनइंस्‍टॉल नहीं किया जा सकता क्‍योंकि यह पैकेज कोई सक्रिय डिवाइस नियंत्रक है."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"अनइंस्टॉल संभव नहीं क्योंकि यह पैकेज <xliff:g id="USERNAME">%1$s</xliff:g> का सक्रिय डिवाइस नियंत्रक है."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"आपकी कार्य प्रोफ़ाइल के लिए यह ऐप आवश्‍यक है और इसे अनइंस्‍टॉल नहीं किया जा सकता."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"यह ऐप्लिकेशन कुछ उपयोगकर्ताओं या प्रोफ़ाइल हेतु आवश्यक है और अन्य हेतु अनइंस्टॉल हो गया है"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"आपकी कार्य प्रोफ़ाइल के लिए यह ऐप्लिकेशन आवश्यक है और उसे अनइंस्टॉल नहीं किया जा सकता."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"आपके डिवाइस व्यवस्थापक के लिए यह ऐप्स जरूरी है व इसे अनइंस्टॉल नहीं किया जा सकता."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"डिवाइस व्‍यवस्‍थापकों को प्रबंधित करें"</string>
+ <string name="manage_users" msgid="3125018886835668847">"उपयोगकर्ताओं को प्रबंधित करें"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> को अनइंस्‍टॉल नहीं किया जा सका."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"पार्स त्रुटि"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"पैकेज को पार्स करने में कोई समस्‍या थी."</string>
<string name="newPerms" msgid="6039428254474104210">"नया"</string>
<string name="allPerms" msgid="1024385515840703981">"सभी"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"डिवाइस पहुंच"</string>
<string name="no_new_perms" msgid="6657813692169565975">"इस नई जानकारी के लिए अनुमति की आवश्‍यकता नहीं है."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"क्या आप निम्नलिखित के लिए अनुमति देना चाहते हैं ? इसे इन पर एक्सेस प्राप्त होगी:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"अनुमति दें"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"अस्वीकार करें"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"फिर भी अस्वीकार करें"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g> में से <xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"<xliff:g id="APP_NAME">%1$s</xliff:g> को <xliff:g id="ACTION">%2$s</xliff:g> की अनुमति दें?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; को <xliff:g id="ACTION">%2$s</xliff:g> की अनुमति दें?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"अनुमति दें"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"ऐप्स"</string>
<string name="app_permissions" msgid="3146758905824597178">"ऐप अनुमतियां"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"फिर कभी ना पूछें"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"फिर से ना पूछें"</string>
<string name="no_permissions" msgid="3210542466245591574">"कोई अनुमति नहीं"</string>
<string name="additional_permissions" msgid="6667573114240111763">"अतिरिक्त अनुमतियां"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"इस अनुमति सेटिंग को बदलने के लिए, आपको पहले सेटिंग &gt; ऐप्स से स्क्रीन ओवरले को बंद करना होगा"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"सेटिंग खोलें"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"इंस्टॉल/अनइंस्टॉल किए जाने की कार्रवाइयां Wear पर समर्थित नहीं हैं."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"इंस्टॉल/अनइंस्टॉल किए जाने की कार्रवाइयां Wear पर समर्थित नहीं हैं."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> को अपडेट किया गया है. <xliff:g id="APP_NAME_1">%1$s</xliff:g> को निम्‍न एक्‍सेस करने दें?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"चुनें कि <xliff:g id="APP_NAME">%1$s</xliff:g> को क्‍या-क्‍या एक्‍सेस करने देना है"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> को अपडेट किया गया है. चुनें कि इस ऐप को क्‍या-क्‍या एक्‍सेस करने देना है."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"अभी नहीं"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"जारी रखें"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"नई अनुमतियां"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"वर्तमान अनुमतियां"</string>
+ <string name="message_staging" msgid="6151794817691100003">"ऐप्लिकेशन चरणबद्ध किया जा रहा है…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"अज्ञात"</string>
</resources>
diff --git a/res/values-hr-television/strings.xml b/res/values-hr-television/strings.xml
index 151afe81..ba363f4c 100644
--- a/res/values-hr-television/strings.xml
+++ b/res/values-hr-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"To možete kasnije promijenili u odjeljku Postavke &gt; Aplikacije"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Prikaži aplikacije sustava"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Dopuštenja aplikacije"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Dopuštenja aplikacije"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Dopuštenja – <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Dodatna dopuštenja"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Dopuštenja – <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 8cead087..f1f5d7ab 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Želite li instalirati ažuriranje postojeće aplikacije? Vaši postojeći podaci neće se izgubiti. Nije potreban nikakav poseban pristup."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Želite li instalirati ažuriranje te ugrađene aplikacije? Vaši postojeći podaci neće se izgubiti. Nije potreban nikakav poseban pristup."</string>
<string name="install_failed" msgid="6579998651498970899">"Aplikacija nije instalirana."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Instaliranje paketa blokirano je."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Paket je u sukobu s postojećim paketom istog naziva."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Aplikacija nije kompatibilna s vašim tabletom."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Aplikacija nije kompatibilna s vašim televizorom."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Aplikacija nije kompatibilna s vašim telefonom."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Čini se da je paket oštećen."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Već je instaliran postojeći paket s istim imenom i konfliktnim potpisom."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Paket funkcionira samo na novijim verzijama Androida."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Ova aplikacija nije kompatibilna s vašim tabletnim računalom."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Aplikacija nije kompatibilna s vašim televizorom."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Ova aplikacija nije kompatibilna s vašim telefonom."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Navedeni paket izbrisan je prije nego što se instalacija mogla dovršiti."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Paket nije prošao provjeru i ne može se instalirati."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Isteklo je vrijeme za pokušaj potvrde ovog paketa. Pokušajte ga kasnije ponovo instalirati."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"Aplikaciju <xliff:g id="APP_NAME">%1$s</xliff:g> nije moguće instalirati na ovo tabletno računalo."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"Nije bilo moguće instalirati aplikaciju <xliff:g id="APP_NAME">%1$s</xliff:g> na vaš televizor."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"Aplikaciju <xliff:g id="APP_NAME">%1$s</xliff:g> nije moguće instalirati na vaš telefon."</string>
<string name="launch" msgid="4826921505917605463">"Otvori"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Instaliranje je blokirano"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Radi sigurnosti vaš je tablet postavljen da blokira instaliranje aplikacija iz nepoznatih izvora."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Iz sigurnosnih razloga televizor blokira instaliranje aplikacija iz nepoznatih izvora."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Radi sigurnosti vaš je telefon postavljen da blokira instaliranje aplikacija iz nepoznatih izvora."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Vaš administrator ne dopušta instaliranje aplikacija dobivenih iz nepoznatih izvora."</string>
<string name="ok" msgid="3468756155452870475">"U redu"</string>
<string name="settings" msgid="6743583734099755409">"Postavke"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Novi izvor za aplikacije"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> želi instalirati druge aplikacije.\n\nDozvoliti sada i ubuduće?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Upravljanje aplikacijama"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Zamijeniti aplikaciju?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Aplikacija koju instalirate zamijenit će drugu aplikaciju.\n\nBit će spremljeni svi vaši prethodni korisnički podaci."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Želite li deinstalirati ovu aplikaciju?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Želite li deinstalirati tu aplikaciju za "<b>"sve"</b>" korisnike? Aplikacija i njezini podaci bit će uklonjeni sa "<b>"svih"</b>" korisnika na uređaju."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Želite li deinstalirati tu aplikaciju za korisnika <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Želite li ovu aplikaciju zamijeniti tvorničkom verzijom?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Želite li tu aplikaciju zamijeniti tvorničkom verzijom? Izgubit ćete sve podatke."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Želite li tu aplikaciju zamijeniti tvorničkom verzijom? Izgubit ćete sve podatke. To se odnosi na sve korisnike uređaja, uključujući one s radnim profilima."</string>
<string name="uninstalling" msgid="5556217435895938250">"Deinstaliranje..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Deinstalacija je završena."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Deinstalacija nije uspjela."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Deinstalacija nije moguća jer je ovaj paket aktivni administrator uređaja."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Paket nije moguće deinst. jer je administrator aktivnog uređaja za korisnika <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Ta je aplikacija potrebna za vaš poslovni profil i ne može se deinstalirati."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Ta je aplikacija obavezna za neke korisnike ili profile, deinstalirana je za ostale"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Ta je aplikacija potrebna za vaš profil i ne može se deinstalirati."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Ta je aplikacija neophodna administratoru uređaja i nije ju moguće deinstalirati."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Upravljanje administratorima uređaja"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Upravljaj korisnicima"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"Aplikaciju <xliff:g id="APP_NAME">%1$s</xliff:g> nije moguće instalirati."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Pogreška analize"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Došlo je do problema pri analiziranju paketa."</string>
<string name="newPerms" msgid="6039428254474104210">"Novo"</string>
<string name="allPerms" msgid="1024385515840703981">"Sve"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Pristup uređaja"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Ovo ažuriranje ne zahtijeva nove dozvole."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Želite li dati sljedeće dozvole? Odobrit će se pristup sljedećem:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Dopusti"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Odbij"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Svejedno odbij"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> od <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Dopuštate li aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> da može <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Želite li aplikaciji &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; dopustiti sljedeće: <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Dopusti"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Aplikacije"</string>
<string name="app_permissions" msgid="3146758905824597178">"Dopuštenja aplikacije"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Nikad više ne traži"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Više me ne pitaj"</string>
<string name="no_permissions" msgid="3210542466245591574">"Nema dopuštenja"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Dodatna dopuštenja"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -120,5 +117,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Da biste promijenili tu postavku dopuštenja, prvo morate isključiti preklapanje na zaslonu u Postavkama &gt; Aplikacije"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Otvori postavke"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Radnje instaliranja i deinstaliranja nisu podržane na Wearu."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Radnje instaliranja i deinstaliranja nisu podržane na Wearu."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"Aplikacija <xliff:g id="APP_NAME_0">%1$s</xliff:g> ažurirana je. Želite li dopustiti da <xliff:g id="APP_NAME_1">%1$s</xliff:g> pristupa sljedećem?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Odaberite čemu će <xliff:g id="APP_NAME">%1$s</xliff:g> moći pristupiti"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> ažurirana je. Odaberite čemu će moći pristupiti."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Otkaži"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Nastavi"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Nova dopuštenja"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Trenutačna dopuštenja"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Postavljanje aplikacije…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Nepoznato"</string>
</resources>
diff --git a/res/values-hu-television/strings.xml b/res/values-hu-television/strings.xml
index cb780971..76778ce2 100644
--- a/res/values-hu-television/strings.xml
+++ b/res/values-hu-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Ezt később módosíthatja a Beállítások &gt; Alkalmazások pontnál"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Rendszeralkalmazások megjelenítése"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Alkalmazásengedélyek"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Alkalmazásengedélyek"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"A(z) <xliff:g id="PERMISSION">%1$s</xliff:g> jogosultságai"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"További engedélyek"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"A(z) <xliff:g id="PERMISSION">%1$s</xliff:g> jogosultságai"</string>
</resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 84aab320..3183ec12 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Telepít egy frissítést ehhez a meglévő alkalmazáshoz? A meglévő adatai nem vesznek el. A frissítés nem igényel különleges hozzáférést."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Telepít egy frissítést ehhez a beépített alkalmazáshoz? A meglévő adatai nem vesznek el. A frissítés nem igényel különleges hozzáférést."</string>
<string name="install_failed" msgid="6579998651498970899">"Az alkalmazás nincs telepítve."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"A csomag telepítését letiltotta a rendszer."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"A csomag ütközésben van egy ugyanolyan nevű már meglévő csomaggal."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Ez az alkalmazás nem kompatibilis táblagépével."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Ez az alkalmazás nem kompatibilis tévéjével."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Ez az alkalmazás nem kompatibilis telefonjával."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"A csomag hibás."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Ütköző aláírású, azonos nevű csomag már telepítve."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"A csomag csak az Android új verzióinál működik."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Ez az alkalmazás nem kompatibilis táblagépével."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Ez az alkalmazás nem kompatibilis a tévéjével."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Ez az alkalmazás nem kompatibilis telefonjával."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"A megadott csomag törlésre került, mielőtt a telepítés befejeződhetett volna."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"A csomag nem ment át az ellenőrzésen, így nem lehet telepíteni."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"A csomag ellenőrzése közben időtúllépés történt. Próbálja meg később telepíteni."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"A(z) <xliff:g id="APP_NAME">%1$s</xliff:g> alkalmazás nem telepíthető táblagépére."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"A(z) <xliff:g id="APP_NAME">%1$s</xliff:g> alkalmazás nem telepíthető a tévéjére."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"A(z) <xliff:g id="APP_NAME">%1$s</xliff:g> alkalmazás nem telepíthető telefonjára."</string>
<string name="launch" msgid="4826921505917605463">"Megnyitás"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"A telepítés letiltva"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Táblagépe biztonsági okokból letiltja az ismeretlen forrásokból származó alkalmazások telepítését."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Tévéje úgy van beállítva, hogy letiltja az ismeretlen forrásokból származó alkalmazások telepítését."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Telefonja biztonsági okokból letiltja az ismeretlen forrásokból származó alkalmazások telepítését."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"A rendszergazda nem engedélyezi az ismeretlen forrásokból származó alkalmazások telepítését."</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"Beállítások"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Új alkalmazásforrás"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> más alkalmazásokat akar telepíteni.\n\nEngedélyezi ezt most és a jövőben?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Alkalmazások kezelése"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Lecseréli az alkalmazást?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"A telepítés alatt álló alkalmazás lecserél egy másikat.\n\nMinden korábbi felhasználói adatot ment a rendszer."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Eltávolítja ezt az alkalmazást?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Szeretné eltávolítani ezt az alkalmazást "<b>"minden"</b>" felhasználónál? Az alkalmazást és adatait az eszköz "<b>"minden"</b>" felhasználójánál töröljük."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Eltávolítja ezt az alkalmazást <xliff:g id="USERNAME">%1$s</xliff:g> felhasználó esetében?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Szeretné lecserélni az alkalmazást a gyári verzióra?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Lecseréli az alkalmazást a gyári verzióra? Minden adat törlődik."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Lecseréli az alkalmazást a gyári verzióra? Minden adat törlődik. Ez az eszköz összes felhasználóját érinti, így a munkaprofilokkal rendelkezőket is."</string>
<string name="uninstalling" msgid="5556217435895938250">"Eltávolítás..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Az eltávolítás befejeződött."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Az eltávolítás sikertelen."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Nem lehet eltávolítani: a csomag aktív eszközkezelő."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Nem lehet eltávolítani, mert a csomag <xliff:g id="USERNAME">%1$s</xliff:g> aktív eszközadminisztrátora."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Ez az alkalmazás szükséges munkaprofiljához, és nem távolítható el."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Egyes felhasználóknak/profiloknak szüksége van erre, másoknál pedig eltávolították"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Ez az alkalmazás szükséges a profiljához, így nem távolítható el."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Az alkalmazásra szüksége van az eszköz adminisztrátorának, és nem távolítható el."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Eszközadminisztrátorok kezelése"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Felhasználók kezelése"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"Nem sikerült a(z) <xliff:g id="APP_NAME">%1$s</xliff:g> eltávolítása"</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Szintaktikai elemzés hibája"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Gond volt a csomag elemzésekor."</string>
<string name="newPerms" msgid="6039428254474104210">"Új"</string>
<string name="allPerms" msgid="1024385515840703981">"Mind"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Eszközhozzáférés"</string>
<string name="no_new_perms" msgid="6657813692169565975">"A frissítés nem igényel új engedélyeket."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Megadja a következő engedélyeket? A következőkhöz biztosít hozzáférést:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Engedélyezés"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Elutasítás"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Tiltás mindenképpen"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>/<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Felhatalmazza a(z) <xliff:g id="APP_NAME">%1$s</xliff:g> szolgáltatást a következőre: <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Engedélyezi a(z) &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; számára a következőt: <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Engedélyezés"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Alkalmazások"</string>
<string name="app_permissions" msgid="3146758905824597178">"Alkalmazásengedélyek"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Ne kérdezzen rá többet"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Ne jelenjen meg többé"</string>
<string name="no_permissions" msgid="3210542466245591574">"Nincs engedély"</string>
<string name="additional_permissions" msgid="6667573114240111763">"További engedélyek"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Ennek az engedélynek a módosításához először ki kell kapcsolnia a képernyőfedvényt a Beállítások &gt; Alkalmazások menüben"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Beállítások megnyitása"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"A Wear nem támogatja a telepítés/eltávolítás műveletet."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"A Wear nem támogatja a telepítés/eltávolítás műveletet."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"A(z) <xliff:g id="APP_NAME_0">%1$s</xliff:g> frissítve. Engedélyezi, hogy a(z) <xliff:g id="APP_NAME_1">%1$s</xliff:g> hozzáférjen a következőhöz?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Válassza ki, hogy a(z) <xliff:g id="APP_NAME">%1$s</xliff:g> mihez férjen hozzá"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"A(z) <xliff:g id="APP_NAME">%1$s</xliff:g> frissítve. Válassza ki, hogy mihez férjen hozzá ez az alkalmazás."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Mégse"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Tovább"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Új engedélyek"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Jelenlegi engedélyek"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Alkalmazás fokozatos közzététele…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Ismeretlen"</string>
</resources>
diff --git a/res/values-hy-rAM-television/strings.xml b/res/values-hy-rAM-television/strings.xml
index b23a74d8..f2606734 100644
--- a/res/values-hy-rAM-television/strings.xml
+++ b/res/values-hy-rAM-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Կարող եք փոխել սա ավելի ուշ Կարգավորումներում և Հավելվածներում"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Ցուցադրել համակարգի հավելվածները"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Հավելվածի թույլտվությունները"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Հավելվածի թույլտվությունները"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> թույլտվությունները"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Լրացուցիչ թույլտվություններ"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> թույլտվությունները"</string>
</resources>
diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy-rAM/strings.xml
index 00a4e301..33ac99e0 100644
--- a/res/values-hy-rAM/strings.xml
+++ b/res/values-hy-rAM/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Ցանկանու՞մ եք այս առկա հավելվածում թարմացում տեղադրել: Ձեր ընթացիկ տվյալները չեն կորի: Այն չի պահանջում որևէ հատուկ մուտք:"</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Ցանկանու՞մ եք այս ներկառուցված հավելվածում թարմացում տեղադրել: Ձեր ընթացիկ տվյալները չեն կորի: Այն չի պահանջում որևէ հատուկ մուտք:"</string>
<string name="install_failed" msgid="6579998651498970899">"Հավելվածը տեղադրված չէ:"</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Փաթեթի տեղադրումն արգելափակվել է:"</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Փաթեթը հակասության մեջ է մտնում մեկ այլ, առկա, նույնանուն փաթեթի հետ:"</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Այս հավելվածը համատեղելի չէ ձեր պլանշետի հետ:"</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Այս հավելվածը համատեղելի չէ ձեր հեռուստացույցի հետ:"</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Այս հավելվածը համատեղելի չէ ձեր հեռախոսի հետ:"</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Փաթեթը կարծես թե վնասված է:"</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Նույն անունով առկա փաթեթը հակասական ստորագրությամբ արդեն տեղադրված է:"</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Փաթեթը աշխատում է միայն Android-ի ավելի նոր տարբերակներում:"</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Այս հավելվածը համատեղելի չէ ձեր գրասալիկի հետ:"</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Այս հավելվածը համատեղելի չէ ձեր հեռուստացույցի հետ:"</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Այս հավելվածը համատեղելի չէ ձեր հեռախոսի հետ:"</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Նշված փաթեթը ջնջված է նախքան տեղադրման ավարտը:"</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Փաթեթը հաստատում չի անցել և չի կարող տեղադրվել:"</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Տեղի ունեցավ ժամանակի սպառում այս փաթեթի հաստատման փորձի ժամանակ: Մի փոքր ուշ կրկին փորձեք այն տեղադրել:"</string>
- <string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g>-ը չհաջողվեց տեղադրել ձեր գրասալիկում:"</string>
+ <string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g>-ը չհաջողվեց տեղադրել ձեր պլանշետում:"</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"Չհաջողվեց տեղադրել <xliff:g id="APP_NAME">%1$s</xliff:g> հավելվածը ձեր հեռուստացույցի վրա:"</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g>-ը չհաջողվեց տեղադրել ձեր հեռախոսում:"</string>
<string name="launch" msgid="4826921505917605463">"Բացել"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Տեղադրումը արգելափակված է"</string>
- <string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Անվտանգության նկատառումներով ձեր գրասալիկը կարգավորված է կասեցնել այն հավելվածների տեղադրումը, որոնք ձեռք են բերվել անհայտ աղբյուրներից:"</string>
+ <string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Անվտանգության նկատառումներով ձեր պլանշետը կարգավորված է կասեցնել այն հավելվածների տեղադրումը, որոնք ձեռք են բերվել անհայտ աղբյուրներից:"</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Անվտանգության նկատառումներից ելնելով՝ ձեր հեռուստացույցը արգելափակում է անհայտ աղբյուրներից ձեռք բերած հավելվածների տեղադրումը:"</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Անվտանգության նկատառումներով ձեր հեռախոսը կարգավորված է կասեցնել այն հավելվածների տեղադրումը, որոնք ձեռք են բերվել անհայտ աղբյուրներից:"</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Ձեր ադմինիստրատորը թույլ չի տալիս տեղադրել հավելվածներ անհայտ աղբյուրներից:"</string>
<string name="ok" msgid="3468756155452870475">"Լավ"</string>
<string name="settings" msgid="6743583734099755409">"Կարգավորումներ"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Հավելվածների նոր աղբյուր"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g>-ը ցանկանում է տեղադրել այլ հավելվածներ:\n \nԹույլատրե՞լ այն այժմ և հետագայում:"</string>
<string name="manage_applications" msgid="4033876279091996596">"Կառավարել հավելվածները"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Փոխարինե՞լ հավելվածը:"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Ծրագիրը, որը դուք տեղադրում եք, կփոխարինի մեկ այլ ծրագրի:\n\nՁեր բոլոր նախկին օգտվողի տվյալները կպահվեն:"</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Ցանկանու՞մ եք ապատեղադրել այս ծրագիրը:"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Ցանկանու՞մ եք ապատեղադրել այս հավելվածը "<b>"բոլոր"</b>" օգտվողների համար: Հավելվածը և դրա տվյալները կհեռացվեն սարքի "<b>"բոլոր"</b>" օգտվողներից:"</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Ցանկանում եք ապատեղադրե՞լ այս ծրագիրը <xliff:g id="USERNAME">%1$s</xliff:g> օգտվողի համար:"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Ցանկանու՞մ եք փոխարինել այս հավելվածը գործարանային տարբերակով:"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Փոխարինե՞լ այս հավելվածը գործարանային տարբերակով: Բոլոր տվյալները կհեռացվեն:"</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Փոխարինե՞լ այս հավելվածը գործարանային տարբերակով: Բոլոր տվյալները կհեռացվեն: Դա վերաբերում է այս սարքի բոլոր օգտվողներին, այդ թվում նաև աշխատանքային պրոֆիլներ ունեցողներին:"</string>
<string name="uninstalling" msgid="5556217435895938250">"Ապատեղադրում է..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Ապատեղադրումը ավարտված է:"</string>
<string name="uninstall_failed" msgid="631122574306299512">"Ապատեղադրումն անհաջող է:"</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Հնարավոր չէ ապատեղադրել, քանի որ այս փաթեթն ակտիվ սարքի ադմինիստրատոր է:"</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Հնարավոր չէ ապատեղադրել, քանի որ այս փաթեթը ակտիվ սարքի ադմինիստրատոր է <xliff:g id="USERNAME">%1$s</xliff:g> օգտվողի համար:"</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Այս հավելվածը հարկավոր է ձեր աշխատանքային պրոֆիլի համար: Չեք կարող հեռացնել այն:"</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Այս հավելվածն անհրաժեշտ է որոշ օգտվողների կամ պրոֆիլների համար և մնացածի մոտ հեռացվել է"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Այս հավելվածն անհրաժեշտ է ձեր պրոֆիլի համար: Այն հնարավոր չէ հեռացնել:"</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Ծրագիրը ձեր սարքի ադմինիստրատորի կողմից նշվել է որպես պարտադիր և չի կարող հեռացվել:"</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Կառավարել սարքի ադմինիստրատորներին"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Կառավարել օգտվողներին"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g>-ը չհաջողվեց ապատեղադրել:"</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Վերլուծման սխալ"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Փաթեթը վերլուծելիս խնդիր առաջացավ:"</string>
<string name="newPerms" msgid="6039428254474104210">"Նոր"</string>
<string name="allPerms" msgid="1024385515840703981">"Բոլորը"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Սարքի մատչում"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Այս թարմացումը պահանջում է, որ նոր թույլտվություններ չտրվեն:"</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Ցանկանու՞մ եք շնորհել հետևյալ թույլտվությունները: Այն կստանա մատչում`"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Թույլատրել"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Մերժել"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Մերժել ամեն դեպքում"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>-ը <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>-ից"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Թույլատրե՞լ <xliff:g id="APP_NAME">%1$s</xliff:g>-ին <xliff:g id="ACTION">%2$s</xliff:g>:"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Թույլ տա՞լ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; հավելվածին կատարել հետևյալ գործողությունը՝ <xliff:g id="ACTION">%2$s</xliff:g>:"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Թույլատրել"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Հավելվածներ"</string>
<string name="app_permissions" msgid="3146758905824597178">"Հավելվածների թույլտվությունները"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Այլևս երբեք չհարցնել"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Այլևս չհարցնել"</string>
<string name="no_permissions" msgid="3210542466245591574">"Թույլտվություններ չկան"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Լրացուցիչ թույլտվություններ"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Այս թույլտվության կարգավորումները փոխելու համար նախ անհրաժեշտ է անջատել էկրանի վերադրումը՝ անցնելով Կարգավորումներ &gt; Հավելվածներ"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Բացել կարգավորումները"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Տեղադրման/հեռացման գործողությունները Android Wear-ում չեն աջակցվում:"</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Տեղադրման/հեռացման գործողությունները Android Wear-ում չեն աջակցվում:"</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> հավելվածը թարմացվել է: Թույլ տա՞լ <xliff:g id="APP_NAME_1">%1$s</xliff:g> հավելվածին օգտագործել հետևյալը:"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Ընտրեք, ինչ թույլտվություններ եք ցանկանում տրամադրել <xliff:g id="APP_NAME">%1$s</xliff:g> հավելվածին"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> հավելվածը թարմացվել է: Ընտրեք, ինչ թույլտվություններ եք ցանկանում տրամադրել այդ հավելվածին:"</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Չեղարկել"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Շարունակել"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Նոր թույլտվությունները"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Առկա թույլտվությունները"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Հավելվածի նախապատրաստում…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Անհայտ"</string>
</resources>
diff --git a/res/values-in-television/strings.xml b/res/values-in-television/strings.xml
index 9ab3b192..8e6e9ab2 100644
--- a/res/values-in-television/strings.xml
+++ b/res/values-in-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Anda dapat mengubah ini nanti di Setelan &gt; Aplikasi"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Tampilkan aplikasi sistem"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Izin aplikasi"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Izin aplikasi"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Izin <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Izin tambahan"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Izin <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index c20e0b6e..32195550 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Anda ingin memasang pembaruan ke aplikasi yang ada ini? Data Anda yang ada akan hilang. Tindakan ini tidak memerlukan akses khusus apa pun."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Anda ingin memasang pembaruan ke aplikasi yang ada di dalamnya? Data Anda yang ada akan hilang. Tindakan ini tidak memerlukan akses khusus apa pun."</string>
<string name="install_failed" msgid="6579998651498970899">"Apl tidak terpasang."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Paket diblokir sehingga tidak dapat dipasang."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Paket ini bentrok dengan paket yang sudah ada dan bernama sama."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Aplikasi ini tidak kompatibel dengan tablet Anda."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Aplikasi ini tidak kompatibel dengan TV Anda."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Aplikasi ini tidak kompatibel dengan ponsel Anda."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Paket tampaknya rusak."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Terdapat paket bernama sama, namun dengan tanda tangan berbeda, yang sudah terpasang."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Paket hanya bekerja pada versi Android yang lebih baru."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Apl ini tidak kompatibel dengan tablet Anda."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Aplikasi ini tidak kompatibel dengan TV."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Apl ini tidak kompatibel dengan ponsel Anda."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Paket yang ditentukan dihapus sebelum pemasangan selesai."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Paket ini tidak lulus verifikasi dan tidak dapat dipasang."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Terjadi kehabisan waktu saat mencoba memverifikasi paket ini. Coba pasang lagi nanti."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> tidak dapat dipasang pada tablet Anda."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> tidak dapat dipasang di TV."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g> tidak dapat dipasang pada ponsel Anda."</string>
<string name="launch" msgid="4826921505917605463">"Buka"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Pemasangan dicekal"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Demi keamanan, tablet Anda disetel utk mencekal pemasangan apl yg diperoleh dari sumber tak dikenal."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Demi keamanan, TV disetel untuk memblokir pemasangan aplikasi dari sumber tak dikenal."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Demi keamanan, ponsel Anda disetel utk mencekal pemasangan apl yg diperoleh dari sumber tak dikenal."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Administrator tidak mengizinkan pemasangan aplikasi yang didapatkan dari sumber tak dikenal."</string>
<string name="ok" msgid="3468756155452870475">"Oke"</string>
<string name="settings" msgid="6743583734099755409">"Setelan"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Sumber baru untuk apl"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> ingin memasang aplikasi lain.\n\nIzinkan hal ini sekarang dan di waktu mendatang?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Kelola apl"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Ganti apl?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Apl yang Anda pasang akan menggantikan apl lain.\n\nSemua data pengguna Anda sebelumnya akan disimpan."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Apakah Anda ingin mencopot pemasangan apl ini?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Anda ingin mencopot aplikasi ini untuk "<b>"semua"</b>" pengguna? Aplikasi dan datanya akan dihapus dari "<b>"semua"</b>" pengguna pada perangkat."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Ingin mencopot pemasangan aplikasi ini untuk pengguna <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Apakah Anda ingin mengganti apl ini dengan versi pabrik?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Gantikan aplikasi ini dengan versi pabrik? Semua data akan dihapus."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Gantikan aplikasi ini dengan versi pabrik? Semua data akan dihapus. Tindakan ini memengaruhi semua pengguna perangkat ini, termasuk yang memiliki profil kerja."</string>
<string name="uninstalling" msgid="5556217435895938250">"Mencopot pemasangan..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Pencopotan pemasangan selesai."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Pencopotan pemasangan tidak berhasil."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Tdk dpt mencopot pemasangan krn paket ini adlh administrator perangkat yg aktif."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Tidak dapat mencopot pemasangan karena paket ini adalah administrator perangkat aktif untuk pengguna <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Aplikasi ini diperlukan untuk profil kerja &amp; pemasangannya tidak bisa dicopot."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Aplikasi ini diperlukan untuk beberapa pengguna atau profil, dan telah dicopot pemasangannya untuk yang lainnya"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Aplikasi ini diperlukan untuk profil Anda dan tidak dapat dicopot pemasangannya."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Aplikasi diwajibkan administrator perangkat &amp; pemasangannya tidak bisa dicopot."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Kelola administrator perangkat"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Kelola pengguna"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> tidak dapat dicopot pemasangannya."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Kesalahan parse"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Terjadi masalah saat mengurai paket."</string>
<string name="newPerms" msgid="6039428254474104210">"Baru"</string>
<string name="allPerms" msgid="1024385515840703981">"Semua"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Akses Perangkat"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Pembaruan ini tidak memerlukan izin baru."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Ingin memberikan izin ini? Akses akan diberikan ke:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Izinkan"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Tolak"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Tetap tolak"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> dari <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Izinkan <xliff:g id="APP_NAME">%1$s</xliff:g> untuk <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Izinkan &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; untuk <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Izinkan"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Aplikasi"</string>
<string name="app_permissions" msgid="3146758905824597178">"Izin aplikasi"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Jangan tanya lagi"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Jangan tanya lagi"</string>
<string name="no_permissions" msgid="3210542466245591574">"Tidak ada izin"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Izin tambahan"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Untuk mengubah setelan izin ini, terlebih dahulu Anda harus menonaktifkan hamparan layar dari Setelan &gt; Aplikasi"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Buka setelan"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Tindakan Pasang/Copot Pemasangan tidak didukung di Wear."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Tindakan Pasang/Copot Pemasangan tidak didukung di Wear."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> telah diperbarui. Izinkan <xliff:g id="APP_NAME_1">%1$s</xliff:g> untuk mengakses berikut ini?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Pilih item yang boleh diakses oleh <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> telah diperbarui. Pilih item yang boleh diakses oleh aplikasi ini."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Batal"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Lanjutkan"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Izin baru"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Izin saat ini"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Menyiapkan aplikasi..."</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Tidak dikenal"</string>
</resources>
diff --git a/res/values-is-rIS-television/strings.xml b/res/values-is-rIS-television/strings.xml
index 5e780185..0c1fad7c 100644
--- a/res/values-is-rIS-television/strings.xml
+++ b/res/values-is-rIS-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Þú getur breytt þessu seinna undir Stillingar og forrit"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Sýna kerfisforrit"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Heimildir forrita"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Heimildir forrita"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Heimildir fyrir <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Viðbótarheimildir"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Heimildir fyrir <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-is-rIS/strings.xml b/res/values-is-rIS/strings.xml
index 7a5a39c9..c4398b3f 100644
--- a/res/values-is-rIS/strings.xml
+++ b/res/values-is-rIS/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Viltu setja upp uppfærslu á þessu uppsetta forriti? Eldri gögn glatast ekki. Forritið krefst ekki neins sérstaks aðgangs."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Viltu setja upp uppfærslu á þessu innbyggða forriti? Eldri gögn glatast ekki. Forritið krefst ekki neins sérstaks aðgangs."</string>
<string name="install_failed" msgid="6579998651498970899">"Forritið er ekki uppsett."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Lokað var á uppsetningu pakkans."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Pakkinn rekst á við annan pakka með sama heiti."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Þetta forrit er ekki samhæft við spjaldtölvuna."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Þetta forrit er ekki samhæft við sjónvarpið."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Þetta forrit er ekki samhæft við símann."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Pakkinn virðist vera skemmdur."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Pakki með sama heiti og með undirskrift sem rekst á er þegar uppsettur."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Pakkinn virkar aðeins í nýrri útgáfum af Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Þetta forrit er ekki samhæft við spjaldtölvuna."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Þetta forrit er ekki samhæft við sjónvarpið."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Þetta forrit er ekki samhæft við símann."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Tilgreindum pakka var eytt áður en tókst að ljúka uppsetningunni."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Pakkinn stóðst ekki sannprófun og ekki er hægt að setja hann upp."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Staðfesting þessa pakka rann út á tíma. Prófaðu uppsetningu aftur síðar."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"Ekki tókst að setja <xliff:g id="APP_NAME">%1$s</xliff:g> upp í spjaldtölvunni."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"Ekki var hægt að setja <xliff:g id="APP_NAME">%1$s</xliff:g> upp í sjónvarpinu."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"Ekki tókst að setja <xliff:g id="APP_NAME">%1$s</xliff:g> upp í símanum."</string>
<string name="launch" msgid="4826921505917605463">"Opna"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Uppsetning læst"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Af öryggisástæðum er spjaldtölvan stillt á að loka á uppsetningu forrita af óþekktum uppruna."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Af öryggisástæðum er sjónvarpið stillt á að loka á uppsetningu forrita af óþekktum uppruna."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Af öryggisástæðum er síminn stilltur á að loka á uppsetningu forrita af óþekktum uppruna."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Kerfisstjórinn þinn leyfir ekki uppsetningu forrita af óþekktum uppruna."</string>
<string name="ok" msgid="3468756155452870475">"Í lagi"</string>
<string name="settings" msgid="6743583734099755409">"Stillingar"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Ný forritaveita"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> vill setja upp önnur forrit.\n\nViltu leyfa það núna og til frambúðar?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Stjórna forritum"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Skipta út forriti?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Forritið sem þú ert að setja upp kemur í stað annars forrits.\n\nÖll fyrri notandagögn þín verða vistuð."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Viltu fjarlægja þetta forrit?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Viltu fjarlægja þetta forrit hjá "<b>"öllum"</b>" notendum? Forritið og gögn þess verða fjarlægð hjá "<b>"öllum"</b>" notendum tækisins."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Viltu fjarlægja þetta forrit fyrir notandann <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Viltu skipta þessu forriti út fyrir verksmiðjuútgáfuna?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Viltu skipta þessu forriti út fyrir verksmiðjuútgáfuna? Öll gögn verða fjarlægð."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Viltu skipta þessu forriti út fyrir verksmiðjuútgáfuna? Öll gögn verða fjarlægð. Þetta hefur áhrif á alla notendur tækisins, þar á meðal þá sem eru með vinnusnið."</string>
<string name="uninstalling" msgid="5556217435895938250">"Fjarlægir…"</string>
<string name="uninstall_done" msgid="3792487853420281888">"Forritið hefur verið fjarlægt."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Ekki tókst að fjarlægja forritið."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Ekki er hægt að fjarlægja forritið því að pakkinn er virkur stjórnandi tækis."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Ekki hægt að fjarlægja vegna þess að þessi pakki er virkur tækisstjórnandi fyrir <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Vinnusniðið þitt krefst þessa forrits og ekki er hægt að fjarlægja það."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Þessa forrits er krafist hjá sumum notendum eða sniðum en var fjarlægt hjá öðrum"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Sniðið þitt krefst þessa forrits og ekki er hægt að fjarlægja það."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Stjórnandi tækisins krefst þessa forrits og ekki er hægt að fjarlægja það."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Hafa umsjón með stjórnendum tækis"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Stjórna notendum"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"Ekki tókst að fjarlægja <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Þáttunarvilla"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Vandamál kom upp við að vinna úr pakkanum."</string>
<string name="newPerms" msgid="6039428254474104210">"Nýjar"</string>
<string name="allPerms" msgid="1024385515840703981">"Allar"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Tækisaðgangur"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Þessi uppfærsla krefst engra nýrra heimilda."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Viltu veita eftirfarandi heimildir? Aðgangur er veittur að:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Leyfa"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Hafna"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Hafna samt"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> af <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Leyfa <xliff:g id="APP_NAME">%1$s</xliff:g> að <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Leyfa &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; að <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Leyfa"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Forrit"</string>
<string name="app_permissions" msgid="3146758905824597178">"Heimildir forrits"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Ekki spyrja aftur"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Ekki spyrja aftur"</string>
<string name="no_permissions" msgid="3210542466245591574">"Engar heimildir"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Viðbótarheimildir"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Til að breyta þessari heimildarstillingu þarftu fyrst að slökkva á skjáyfirlögn undir Stillingar &gt; Forrit"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Opna stillingar"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Uppsetningar-/fjarlægingaraðgerðir eru ekki studdar í Wear."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Aðgerðir til að setja upp / fjarlægja eru ekki studdar í Wear."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> hefur verið uppfært. Hverju viltu veita <xliff:g id="APP_NAME_1">%1$s</xliff:g> aðgang að?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Veldu hverju <xliff:g id="APP_NAME">%1$s</xliff:g> fær aðgang að"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> hefur verið uppfært. Veldu hverju forritið fær aðgang að."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Hætta við"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Halda áfram"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Nýjar heimildir"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Núgildandi heimildir"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Setur upp forrit…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Óþekkt"</string>
</resources>
diff --git a/res/values-it-television/strings.xml b/res/values-it-television/strings.xml
index 8ccd29c5..14c46de8 100644
--- a/res/values-it-television/strings.xml
+++ b/res/values-it-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Puoi modificare questa scelta in seguito in Impostazioni &gt; App"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Mostra app di sistema"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Autorizzazioni app"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Autorizzazioni app"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Autorizzazioni <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Altre autorizzazioni"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Autorizzazioni <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 442d78ca..78d2a68b 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Vuoi installare un aggiornamento di questa applicazione esistente? I dati correnti verranno conservati. Non occorrono accessi speciali."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Vuoi installare un aggiornamento di questa applicazione integrata? I dati correnti verranno conservati. Non occorrono accessi speciali."</string>
<string name="install_failed" msgid="6579998651498970899">"App non installata."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"È stata bloccata l\'installazione del pacchetto."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Il pacchetto è in conflitto con un pacchetto esistente che ha lo stesso nome."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Questa app non è compatibile con il tuo tablet."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Questa app non è compatibile con la tua TV."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Questa app non è compatibile con il tuo telefono."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Il pacchetto potrebbe essere danneggiato."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"È già installato un pacchetto con lo stesso nome e con una firma in conflitto."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Il pacchetto funziona soltanto su versioni più recenti di Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Questa applicazione non è compatibile con il tuo tablet."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Questa app non è compatibile con la tua TV."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Questa applicazione non è compatibile con il tuo telefono."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Il pacchetto specificato è stato eliminato prima del completamento dell\'installazione."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Il pacchetto non ha superato la verifica e non può essere installato."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Timeout durante il tentativo di verificare questo pacchetto. Prova a reinstallarlo più tardi."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"Impossibile installare <xliff:g id="APP_NAME">%1$s</xliff:g> sul tablet."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"Impossibile installare <xliff:g id="APP_NAME">%1$s</xliff:g> sulla tua TV."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"Impossibile installare <xliff:g id="APP_NAME">%1$s</xliff:g> sul telefono."</string>
<string name="launch" msgid="4826921505917605463">"Apri"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Installazione bloccata"</string>
- <string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Il tablet è impostato per bloccare l\'installazione di applicazioni ottenute da fonti sconosciute."</string>
- <string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Per sicurezza, la TV è impostata per bloccare l\'installazione di app ottenute da fonti sconosciute."</string>
- <string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Il telefono è impostato per bloccare l\'installazione di applicazioni ottenute da fonti sconosciute."</string>
- <string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"L\'amministratore non consente l\'installazione di app ottenute da fonti sconosciute."</string>
+ <string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Il tablet è impostato per bloccare l\'installazione di applicazioni ottenute da origini sconosciute."</string>
+ <string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"La TV è impostata per bloccare l\'installazione di app ottenute da origini sconosciute."</string>
+ <string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Il telefono è impostato per bloccare l\'installazione di app ottenute da origini sconosciute."</string>
+ <string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"L\'amministratore non consente l\'installazione di app ottenute da origini sconosciute."</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"Impostazioni"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Nuova origine per applicazioni"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> chiede di installare altre applicazioni.\n\nConsentirlo ora e in futuro?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Gestisci applicazioni"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Sostituire applicazione?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"L\'applicazione che stai installando sostituirà un\'altra applicazione.\n\nTutti i dati utente precedenti verranno salvati."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Vuoi disinstallare questa applicazione?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Vuoi disinstallare questa applicazione per "<b>"tutti"</b>" gli utenti? L\'applicazione e i relativi dati verranno rimossi da "<b>"tutti"</b>" gli utenti configurati sul dispositivo."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Disinstallare l\'app per l\'utente <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Vuoi sostituire questa applicazione con la versione di fabbrica?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Sostituire questa app con la versione di fabbrica? Tutti i dati verranno rimossi."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Sostituire questa app con la versione di fabbrica? Tutti i dati verranno rimossi. Saranno interessati tutti gli utenti del dispositivo, inclusi quelli che hanno profili di lavoro."</string>
<string name="uninstalling" msgid="5556217435895938250">"Disinstallazione..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Disinstallazione completata."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Disinstallazione non riuscita."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Impossibile disinstallare: il pacchetto è un amministratore dispositivo attivo."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Impossibile disinstallare. Il pacchetto è amministr. dispos. attivo di utente <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Questa app è necessaria per il tuo profilo di lavoro e non può essere disinstallata."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"L\'app è necessaria per alcuni utenti/profili ed è stata disinstallata per altri"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"L\'app è necessaria per il tuo profilo e non può essere disinstallata."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"App richiesta dall\'amministratore del dispositivo. Non può essere disinstallata."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Gestisci amministratori dispositivo"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Gestisci utenti"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"Impossibile disinstallare <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Errore di analisi"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Errore durante l\'analisi del pacchetto."</string>
<string name="newPerms" msgid="6039428254474104210">"Nuove"</string>
<string name="allPerms" msgid="1024385515840703981">"Tutte"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Accesso dispositivo"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Questo aggiornamento non richiede nuove autorizzazioni."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Vuoi concedere le autorizzazioni che seguono? Concederai l\'accesso a:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Consenti"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Nega"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Nega comunque"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> di <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Consentire a <xliff:g id="APP_NAME">%1$s</xliff:g> di <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Consentire a &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; di <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Consenti"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"App"</string>
<string name="app_permissions" msgid="3146758905824597178">"Autorizzazioni app"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Non chiedere più"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Non chiedermelo più"</string>
<string name="no_permissions" msgid="3210542466245591574">"Nessuna autorizzazione"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Altre autorizzazioni"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -108,7 +105,7 @@
<string name="permission_title" msgid="6495415273398916381">"Autorizzazioni <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
<string name="no_apps" msgid="1965493419005012569">"Nessuna app"</string>
<string name="location_settings" msgid="1774875730854491297">"Impostazioni posizione"</string>
- <string name="location_warning" msgid="8778701356292735971">"<xliff:g id="APP_NAME">%1$s</xliff:g> è un fornitore di servizi di localizzazione per questo dispositivo. È possibile modificare l\'accesso alla posizione dalle impostazioni sulla posizione."</string>
+ <string name="location_warning" msgid="8778701356292735971">"<xliff:g id="APP_NAME">%1$s</xliff:g> è un fornitore di servizi di geolocalizzazione per questo dispositivo. È possibile modificare l\'accesso alla posizione dalle impostazioni sulla posizione."</string>
<string name="system_warning" msgid="7103819124542305179">"Se neghi questa autorizzazione, le funzionalità di base del dispositivo potrebbero non funzionare più come previsto."</string>
<string name="permission_summary_enforced_by_policy" msgid="3418617316188986205">"Applicata in base alle norme"</string>
<string name="loading" msgid="7811651799620593731">"Caricamento…"</string>
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Per modificare questa impostazione di autorizzazione, devi innanzitutto disattivare l\'overlay schermo da Impostazioni &gt; App"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Apri impostazioni"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Le azioni di installazione/disinstallazione non sono supportate su Wear."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Le azioni di installazione/disinstallazione non sono supportate su Wear."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"L\'app <xliff:g id="APP_NAME_0">%1$s</xliff:g> è stata aggiornata. Consentire all\'app <xliff:g id="APP_NAME_1">%1$s</xliff:g> di accedere ai seguenti dati?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Scegli i dati a cui l\'app <xliff:g id="APP_NAME">%1$s</xliff:g> può accedere"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"L\'app <xliff:g id="APP_NAME">%1$s</xliff:g> è stata aggiornata. Scegli a quali dati può accedere."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Annulla"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Continua"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Nuove autorizzazioni"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Autorizzazioni correnti"</string>
+ <string name="message_staging" msgid="6151794817691100003">"App in preparazione…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Sconosciuto"</string>
</resources>
diff --git a/res/values-iw-television/strings.xml b/res/values-iw-television/strings.xml
index 102e8dd7..3dae10fe 100644
--- a/res/values-iw-television/strings.xml
+++ b/res/values-iw-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"‏תוכל לשנות זאת מאוחר יותר ב\'הגדרות\' &gt; \'אפליקציות\'"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"הצג אפליקציות מערכת"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"הרשאות לאפליקציות"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"הרשאות לאפליקציות"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"הרשאות <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"הרשאות נוספות"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"הרשאות <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index fc22c872..80d6992e 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"האם ברצונך להתקין עדכון עבור אפליקציה קיימת זו? הנתונים הקיימים שלך לא יאבדו. אין צורך בגישה מיוחדת."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"האם ברצונך להתקין עדכון עבור אפליקציה מובנית זו? הנתונים הקיימים שלך לא יאבדו. אין צורך בגישה מיוחדת."</string>
<string name="install_failed" msgid="6579998651498970899">"האפליקציה לא הותקנה."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"החבילה נחסמה להתקנה."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"החבילה מתנגשת עם חבילה קיימת בעלת אותו שם."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"האפליקציה הזו אינה תואמת לטאבלט שלך."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"האפליקציה הזו אינה תואמת לטלוויזיה שלך."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"האפליקציה הזו אינה תואמת לטלפון שלך."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"נראה שהחבילה פגומה."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"כבר מותקנת חבילה קיימת באותו שם עם חתימה מתנגשת."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"‏החבילה פועלת רק בגרסאות חדשות יותר של Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"אפליקציה זו אינה תואמת לטאבלט שלך."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"האפליקציה הזו אינה תואמת את הטלוויזיה שלך."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"אפליקציה זו אינה תואמת לטלפון שלך."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"החבילה שצוינה נמחקה לפני שההתקנה הושלמה."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"החבילה לא עברה אימות ולא ניתן להתקין אותה."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"הזמן הקצוב לתפוגה פג בעת ניסיון לאמת חבילה זו. נסה להתקין אותה שוב מאוחר יותר."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"לא ניתן להתקין את <xliff:g id="APP_NAME">%1$s</xliff:g> בטאבלט שלך."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"לא ניתן להתקין את <xliff:g id="APP_NAME">%1$s</xliff:g> בטלוויזיה שלך."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"לא ניתן להתקין את <xliff:g id="APP_NAME">%1$s</xliff:g> בטלפון שלך."</string>
<string name="launch" msgid="4826921505917605463">"פתח"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"ההתקנה חסומה"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"מטעמי אבטחה, הטאבלט שלך מוגדר לחסום התקנה של אפליקציות ממקורות לא ידועים."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"לצורכי אבטחה, הטלוויזיה שלך מוגדרת לחסימת התקנה של אפליקציות שהתקבלו ממקורות לא ידועים."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"מטעמי אבטחה, הטלפון שלך מוגדר לחסום התקנה של אפליקציות ממקורות לא ידועים."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"מנהל המערכת שלך לא מתיר התקנה של אפליקציות ממקורות לא ידועים."</string>
<string name="ok" msgid="3468756155452870475">"אישור"</string>
<string name="settings" msgid="6743583734099755409">"הגדרות"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"מקור חדש לאפליקציות"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> רוצה להתקין אפליקציות אחרות. \n \nלאפשר זאת עכשיו ובעתיד?"</string>
<string name="manage_applications" msgid="4033876279091996596">"נהל אפליקציות"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"להחליף אפליקציה?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"האפליקציה שאתה מתקין תחליף אפליקציה אחרת.\n\nכל נתוני המשתמש הקודמים שלך יישמרו."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"האם ברצונך להסיר את ההתקנה של אפליקציה זו?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"האם אתה רוצה להסיר את האפליקציה הזו עבור "<b>"כל"</b>" המשתמשים? האפליקציה והנתונים שלה יוסרו מ"<b>"כל"</b>" המשתמשים במכשיר."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"האם ברצונך להסיר את התקנתה של אפליקציה זו עבור המשתמש <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"האם ברצונך להחליף אפליקציה זו בגרסת היצרן?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"האם להחליף את האפליקציה הזאת בגירסת היצרן? כל הנתונים יוסרו."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"האם להחליף את האפליקציה הזאת בגירסת היצרן? כל הנתונים יוסרו. הפעולה תשפיע על כל משתמשי המכשיר, כולל משתמשים בעלי פרופיל עבודה."</string>
<string name="uninstalling" msgid="5556217435895938250">"מסיר התקנה..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"הסרת ההתקנה הסתיימה."</string>
<string name="uninstall_failed" msgid="631122574306299512">"הסרת התקנה נכשלה."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"לא ניתן להסיר את ההתקנה מפני שחבילה זו היא מנהל מכשיר פעיל."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"לא ניתן להסיר את ההתקנה מפני שהחבילה הזו מוגדרת כעת לניהול המכשיר עבור המשתמש <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"האפליקציה הזו נחוצה לפרופיל העבודה שלך ולא ניתן להסיר את ההתקנה שלה."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"אפליקציה זו נדרשת לחלק מהמשתמשים או מהפרופילים והתקנתה הוסרה למשתמשים אחרים"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"האפליקציה הזו נחוצה לפרופיל שלך ולא ניתן להסיר את ההתקנה שלה."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"מנהל המכשיר שלך מחייב את קיומה של אפליקציה זו, ולא ניתן להסירה."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"נהל מנהלי מכשירים"</string>
+ <string name="manage_users" msgid="3125018886835668847">"ניהול משתמשים"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"לא ניתן להסיר את ההתקנה של <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"שגיאת ניתוח"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"אירעה בעיה בניתוח החבילה."</string>
<string name="newPerms" msgid="6039428254474104210">"חדש"</string>
<string name="allPerms" msgid="1024385515840703981">"הכל"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"גישה למכשיר"</string>
<string name="no_new_perms" msgid="6657813692169565975">"עדכון זה לא דורש הרשאות חדשות."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"האם ברצונך להעניק את ההרשאות הבאות? תוענק גישה אל:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"התר"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"דחה"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"לדחות בכל מקרה"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> מתוך <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"האם להתיר ל-<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"‏האם לאשר לאפליקציה &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; לבצע <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"התר"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"אפליקציות"</string>
<string name="app_permissions" msgid="3146758905824597178">"הרשאות לאפליקציות"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"לעולם אל תבקש שוב"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"אל תשאל שוב"</string>
<string name="no_permissions" msgid="3210542466245591574">"אין הרשאות"</string>
<string name="additional_permissions" msgid="6667573114240111763">"הרשאות נוספות"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -121,5 +118,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"‏כדי לשנות את הגדרת ההרשאה הזו, ראשית עליך לכבות את שכבת העל במסך ב\'הגדרות\' &gt; \'אפליקציות\'"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"פתח הגדרות"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"‏פעולות התקנה/הסרת התקנה אינן נתמכות ב-Wear."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"‏פעולות התקנה/הסרת התקנה אינן נתמכות ב-Wear."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> עודכנה. לתת ל-<xliff:g id="APP_NAME_1">%1$s</xliff:g>‏ את הרשאות הגישה הבאות?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"בחר אילו הרשאות גישה ברצונך לתת ל-<xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> עודכנה. בחר אילו הרשאות גישה יהיו לאפליקציה הזו."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"ביטול"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"המשך"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"הרשאות חדשות"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"הרשאות קיימות"</string>
+ <string name="message_staging" msgid="6151794817691100003">"מכין אפליקציה להתקנה…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"לא ידוע"</string>
</resources>
diff --git a/res/values-ja-television/strings.xml b/res/values-ja-television/strings.xml
index 304f322b..9f318296 100644
--- a/res/values-ja-television/strings.xml
+++ b/res/values-ja-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"これは後から[設定]&gt;[アプリ]で変更できます"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"システムアプリの表示"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"アプリの権限"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"アプリの権限"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g>の権限"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"その他の権限"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g>の権限"</string>
</resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index dc32fc37..94a943ab 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"この既存のアプリにアップデートをインストールしますか?既存のデータが失われることはありません。特別なアクセス権も必要ありません。"</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"この内蔵アプリにアップデートをインストールしますか?既存のデータが失われることはありません。特別なアクセス権も必要ありません。"</string>
<string name="install_failed" msgid="6579998651498970899">"アプリはインストールされていません。"</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"パッケージのインストールはブロックされています。"</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"パッケージが、名前が同じ既存のパッケージと競合しています。"</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"このアプリはお使いのタブレットに対応していません。"</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"このアプリはお使いのテレビに対応していません。"</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"このアプリはお使いのスマートフォンに対応していません。"</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"パッケージが破損しているようです。"</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"名前が同じで、署名が競合するパッケージが既にインストールされています。"</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"このパッケージは新しいバージョンのAndroidでのみ機能します。"</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"このアプリはお使いのタブレットに対応していません。"</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"このアプリはお使いのテレビに対応していません。"</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"このアプリはお使いの端末に対応していません。"</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"インストールが完了する前に指定されたパッケージが削除されました。"</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"パッケージの検証に失敗したため、インストールできませんでした。"</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"このパッケージを検証している間にタイムアウトが発生しました。後で再度インストールしてください。"</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g>をタブレットにインストールできませんでした。"</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g>をテレビにインストールできませんでした。"</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g>を端末にインストールできませんでした。"</string>
<string name="launch" msgid="4826921505917605463">"開く"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"インストールはブロックされました"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"タブレットのセキュリティ上の設定で、提供元不明のアプリのインストールをブロックしています。"</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"セキュリティ上、お使いのテレビは提供元が不明なアプリをインストールできないように設定されています。"</string>
- <string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"携帯端末のセキュリティ上の設定で、提供元不明のアプリのインストールをブロックしています。"</string>
+ <string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"モバイル端末のセキュリティ上の設定で、提供元不明のアプリのインストールをブロックしています。"</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"不明なソースから取得したアプリをインストールすることは、管理者により禁止されています。"</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"設定"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"アプリのための新しいソース"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g>が他のアプリをインストールしようとしています。\n\n今後この操作を許可しますか?"</string>
<string name="manage_applications" msgid="4033876279091996596">"アプリを管理"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"アプリを更新しますか?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"このアプリは既存のアプリを上書きします。\n\n過去のユーザーデータはすべて保存されます。"</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"このアプリをアンインストールしますか?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"このアプリを"<b>"すべての"</b>"ユーザーからアンインストールしますか?このアプリとそのデータは端末の"<b>"すべての"</b>"ユーザーから削除されます。"</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"<xliff:g id="USERNAME">%1$s</xliff:g>さんのアプリをアンインストールしますか?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"アプリを出荷時の状態に更新しますか?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"このアプリを出荷時の状態に戻しますか?データがすべて削除されます。"</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"このアプリを出荷時の状態に戻しますか?データがすべて削除されます。これは、仕事用プロファイルを設定しているユーザーも含めて、この端末を使用するすべてのユーザーが対象となります。"</string>
<string name="uninstalling" msgid="5556217435895938250">"アンインストール中..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"アンインストールが完了しました。"</string>
<string name="uninstall_failed" msgid="631122574306299512">"アンインストールできませんでした。"</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"このパッケージは現在デバイスを管理しているため、アンインストールできません。"</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"このパッケージは、現在<xliff:g id="USERNAME">%1$s</xliff:g>さんの端末を管理しているため、アンインストールできません。"</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"このアプリは仕事用プロファイルに必要なため、アンインストールできません。"</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"このアプリは一部のユーザーやプロファイルに必要なため、アンインストールできませんでした"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"このアプリはプロファイルに必要なため、アンインストールできません。"</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"このアプリは端末管理者が必要としているため、アンインストールできません。"</string>
<string name="manage_device_administrators" msgid="891392489300312370">"デバイス管理者を管理"</string>
+ <string name="manage_users" msgid="3125018886835668847">"ユーザーを管理"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g>をアンインストールできませんでした。"</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"解析エラー"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"パッケージの解析中に問題が発生しました。"</string>
<string name="newPerms" msgid="6039428254474104210">"New"</string>
<string name="allPerms" msgid="1024385515840703981">"すべて"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"端末アクセス"</string>
<string name="no_new_perms" msgid="6657813692169565975">"このアップデートでは新たな許可は必要ありません。"</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"次の権限を許可してもよろしいですか?許可すると、次にアクセスされます:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"許可"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"許可しない"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"許可しない"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"<xliff:g id="APP_NAME">%1$s</xliff:g>に<xliff:g id="ACTION">%2$s</xliff:g>を許可しますか?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; に「<xliff:g id="ACTION">%2$s</xliff:g>」を許可しますか?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"許可"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"アプリ"</string>
<string name="app_permissions" msgid="3146758905824597178">"アプリの権限"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"今後は確認しない"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"今後表示しない"</string>
<string name="no_permissions" msgid="3210542466245591574">"権限がありません"</string>
<string name="additional_permissions" msgid="6667573114240111763">"その他の権限"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"この権限設定を変更するには、まず[設定]&gt;[アプリ]から画面オーバーレイをOFFにします"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"設定を開く"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Wearでのインストールおよびアンインストール操作はサポートされていません。"</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Wear ではインストールやアンインストールができません"</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"「<xliff:g id="APP_NAME_0">%1$s</xliff:g>」が更新されました。「<xliff:g id="APP_NAME_1">%1$s</xliff:g>」に次の権限を許可しますか?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」に許可する権限の選択"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」が更新されました。このアプリに許可する権限を選択してください。"</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"キャンセル"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"続行"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"新しい権限"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"現在の権限"</string>
+ <string name="message_staging" msgid="6151794817691100003">"アプリを準備しています…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"不明"</string>
</resources>
diff --git a/res/values-ka-rGE-television/strings.xml b/res/values-ka-rGE-television/strings.xml
index 6d6f8063..b7d03b05 100644
--- a/res/values-ka-rGE-television/strings.xml
+++ b/res/values-ka-rGE-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"ამის შეცვლა მოგვიანებით შეგიძლიათ სექციაში პარამეტრები &gt; აპები"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"სისტემის აპების ჩვენება"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"აპის ნებართვები"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"აპის ნებართვები"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"ნებართვები (<xliff:g id="PERMISSION">%1$s</xliff:g>)"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"დამატებითი ნებართვები"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"ნებართვები (<xliff:g id="PERMISSION">%1$s</xliff:g>)"</string>
</resources>
diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka-rGE/strings.xml
index f365a6cf..d8f9f0a7 100644
--- a/res/values-ka-rGE/strings.xml
+++ b/res/values-ka-rGE/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"გსურთ განახლების დაყენება ამ არსებული აპლიკაციისთვის? არსებული მონაცემები არ დაიკარგება. ის არ საჭიროებს რაიმე განსაკუთრებულ წვდომას:"</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"გსურთ განახლების დაყენება ამ ჩაშენებული აპლიკაციისთვის? არსებული მონაცემები არ დაიკარგება. ის არ საჭიროებს რაიმე განსაკუთრებულ წვდომას:"</string>
<string name="install_failed" msgid="6579998651498970899">"აპი არ არის დაყენებული."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"ამ პაკეტის ინსტალაცია დაბლოკილია."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"პაკეტი კონფლიქტშია იგივე სახელის მქონე არსებულ პაკეტთან."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"ეს აპი არ არის თავსებადი თქვენს ტაბლეტთან."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"ეს აპი არ არის თავსებადი თქვენს ტელევიზორთან."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"ეს აპი არ არის თავსებადი თქვენს ტელეფონთან."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"როგორც ჩანს, ეს პაკეტი დაზიანებულია."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"იმავე სახელის მქონე პაკეტი უკვე დაყენებულია და მას აქვს კონფლიქტური ხელმოწერა."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"პაკეტი მუშაობს მხოლოდ Android-ის ახალ ვერსიებში."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"ეს აპი არ არის თავსებადი თქვენს ტაბლეტთან."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"ეს აპლიკაცია არ არის თავსებადი თქვენს ტელევიზორთან."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"ეს აპი არ არის თავსებადი თქვენ ტელეფონთან."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"მითითებული პაკეტი წაშლილია ინსტალაციის დასრულებამდე."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"პაკეტმა არ გაიარა გადამოწმება და ვერ დაყენდება."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"დროის ლიმიტი ამოიწურა პაკეტის დადასტურების მცდელობისას. სცადეთ მისი დაყენება მოგვიანებით."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g>-ის დაყენება თქვენს ტაბლეტზე ვერ მოხერხდა."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> ვერ დაინსტალირდება თქვენს ტელევიზორში."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g>-ის დაყენება თქვენს ტელეფონზე ვერ მოხერხდა."</string>
<string name="launch" msgid="4826921505917605463">"გახსნა"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"დაყენება დაბლოკილია"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"უსაფრთხოების მიზნით, ტაბლეტი ბლოკავს უცნობი წყაროებიდან მიღებული აპების დაყენებას."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"უსაფრთხოებისათვის, თქვენი ტელევიზორი დაყენებულია უცნობი წყაროებიდან მიღებული აპლიკაციების დაბლოკვაზე."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"უსაფრთხოების მიზნით, ტელეფონი ბლოკავს უცნობი წყაროებიდან მიღებული აპების დაყენებას."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"თქვენი ადმინისტრატორი არ უშვებს უცნობი წყაროებისგან მიღებული აპების ინსტალაციას."</string>
<string name="ok" msgid="3468756155452870475">"კარგი"</string>
<string name="settings" msgid="6743583734099755409">"პარამეტრები"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"აპებისთვის ახალი წყარო"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> სურს სხვა აპების დაყენება.\n\nმიენიჭოს ამის სამუდამო ნებართვა?"</string>
<string name="manage_applications" msgid="4033876279091996596">"აპების მართვა"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"ჩავანაცვლოთ აპი?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"აპი, რომელსაც აყენებთ, ჩაანაცვლებს სხვა აპს.\n\nმომხმარებლის ყველა წინა მონაცემი შეინახება."</string>
@@ -70,17 +64,19 @@
<!-- syntax error in translation for uninstall_application_text_all_users (5574704453233525222) org.xmlpull.v1.XmlPullParserException: expected: /string read: b (position:END_TAG </b>@1:122 in <string name="uninstall_application_text_all_users" msgid="5574704453233525222">"გსურთ ამ აპის დეინსტალაცია ყველა"</b>" მომხმარებილის "<b>"-თვის? აპლიკაცია და მისი მონაცემენბი წაიშლება ყველა"</b>" მომხმარებლის "<b>"-თვის მოწყობილობაზე."</string>
) -->
<string name="uninstall_application_text_user" msgid="8766882355635485733">"გსურთ <xliff:g id="USERNAME">%1$s</xliff:g> მომხმარებლისათვის ამ აპის დეინსტალაცია?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"გნებავთ ამ აპის ჩანაცვლება მწარმოებლის ვერსიით?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"გსურთ ამ აპის ქარხნული ვერსიით ჩანაცვლება? მონაცემები მთლიანად ამოიშლება."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"გსურთ ამ აპის ქარხნული ვერსიით ჩანაცვლება? მონაცემები მთლიანად ამოიშლება. ეს მოქმედება გავლენას იქონიებს ამ მოწყობილობის ყველა მომხმარებელზე, მათ შორის, სამსახურის პროფილებით მოსარგებლეებზეც."</string>
<string name="uninstalling" msgid="5556217435895938250">"დეინსტალაცია…"</string>
<string name="uninstall_done" msgid="3792487853420281888">"დეინსტალაცია დასრულდა."</string>
<string name="uninstall_failed" msgid="631122574306299512">"დეინსტალაცია წარუმატებელია."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"დეინსტალაცია ვერ ხერხდება, რადგან ეს პაკეტი არის მოწყობილობის აქტიური ადმინისტრატორი."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"დეინსტალაცია ვერ ხორციელდება, რადგან ეს პაკეტი არის აქტიური მოწყობილობის ადმინისტრატორის მომხმარებლისათვის <xliff:g id="USERNAME">%1$s</xliff:g> ."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"ეს აპი საჭიროა თქვენი სამუშაო პროფილისთვის და მისი დეინსტალაცია ვერ მოხდება."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"ამ აპს მომხმარებლების/პროფილების ნაწილი იყენებს. სხვებისთვის ის დეინსტალირებულია."</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"ეს აპი საჭიროა თქვენი პროფილისთვის. მისი დეინსტალაცია ვერ მოხერხდება."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"ეს აპი საჭიროა თქვენი მოწყ. ადმინისტრატორისათვის და დეინსტალაცია ვერ გამოვა."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"მოწყობილობის ადმინისტრატორების მართვა"</string>
+ <string name="manage_users" msgid="3125018886835668847">"მომხმარებლების მართვა"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> -ის დეინსტალაცია ვერ მოხერხდა."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"შეცდომა კოდის ანალიზისას"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"პაკეტის ანალიზისას წარმოიშვა პრობლემა."</string>
<string name="newPerms" msgid="6039428254474104210">"ახალი"</string>
<string name="allPerms" msgid="1024385515840703981">"ყველა"</string>
@@ -88,13 +84,14 @@
<string name="devicePerms" msgid="6733560207731294504">"მოწყობილობის წვდომა"</string>
<string name="no_new_perms" msgid="6657813692169565975">"ეს განახლება არ საჭიროებს ახალ ნებართვებს."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"გსურთ, მიანიჭოთ შემდეგი ნებართვები? წვდომა ექნება შემდეგზე:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"დაშვება"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"უარყოფა"</string>
- <string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> სულ <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>-დან"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"აძლევთ ნებას აპს <xliff:g id="APP_NAME">%1$s</xliff:g> შეასრულოს <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"მაინც უარყოფა"</string>
+ <string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>-დან"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"გსურთ, დაუშვათ, რომ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;-მა შეასრულოს <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"დაშვება"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"აპები"</string>
<string name="app_permissions" msgid="3146758905824597178">"აპის უფლებები"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"აღარასოდეს შემეკითხოს"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"აღარ მკითხოთ"</string>
<string name="no_permissions" msgid="3210542466245591574">"ნებართვები არ არის"</string>
<string name="additional_permissions" msgid="6667573114240111763">"დამატებითი ნებართვები"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -120,5 +117,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"ამ ნებართვის პარამეტრის შესაცვლელად, ჯერ უნდა გამორთოთ ეკრანის გადაფარვა პარამეტრებიდან &gt; აპებიდან"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"პარამეტრების გახსნა"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"ინსტალაციის/დეინსტალაციის მოქმედებები არ არის მხარდაჭერილი Wear-ზე."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"ინსტალაციის/დეინსტალაციის მოქმედებები არ არის მხარდაჭერილი Wear-ზე."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> განახლდა. გსურთ, <xliff:g id="APP_NAME_1">%1$s</xliff:g>-ს ჰქონდეს წვდომა შემდეგზე?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"აირჩიეთ, რაზე ჰქონდეს წვდომა <xliff:g id="APP_NAME">%1$s</xliff:g>-ს"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> განახლდა. აირჩიეთ, რაზე ჰქონდეს წვდომა ამ აპს."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"გაუქმება"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"გაგრძელება"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"ახალი ნებართვები"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"ამჟამინდელი ნებართვები"</string>
+ <string name="message_staging" msgid="6151794817691100003">"მიმდინარეობს აპის შუალედური შენახვა…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"უცნობი"</string>
</resources>
diff --git a/res/values-kk-rKZ-television/strings.xml b/res/values-kk-rKZ-television/strings.xml
index 6dc02cbe..2d0ff437 100644
--- a/res/values-kk-rKZ-television/strings.xml
+++ b/res/values-kk-rKZ-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Мұны кейінірек \"Параметрлер\" және \"Қолданбалар\" ішінен өзгертуге болады"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Жүйелік қолданбаларды көрсету"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Қолданба рұқсаттары"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Қолданба рұқсаттары"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> рұқсаттары"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Қосымша рұқсаттар"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> рұқсаттары"</string>
</resources>
diff --git a/res/values-kk-rKZ/strings.xml b/res/values-kk-rKZ/strings.xml
index c450d48b..f7e31c24 100644
--- a/res/values-kk-rKZ/strings.xml
+++ b/res/values-kk-rKZ/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Бұл қолданбаның жаңартылған нұсқасын орнатуды қалайсыз ба? Деректеріңіз жоғалмайды. Ол ерекше қол жетімділікті қажет етпейді."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Бұл орнатылған қолданбаның жаңартылған нұсқасын орнатуды қалайсыз ба? Деректеріңіз жоғалмайды. Ол ерекше қол жетімділікті қажет етпейді."</string>
<string name="install_failed" msgid="6579998651498970899">"Қолданба орнатылмады."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Буманы орнатуға тыйым салынды."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Бума мен атауы бірдей бар бума арасында қайшылық бар."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Бұл қолданба планшетіңізбен үйлесімді емес."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Бұл қолданба теледидарыңызбен үйлесімді емес."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Бұл қолданба телефоныңызбен үйлесімді емес."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Жинақ жарамсыз."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Дәл сондай атауы бар, қол таңбасы сәйкес емес жинақ бұрын орнатылған."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Жинақ Android жүйесінің жаңа нұсқаларымен ғана жұмыс істейді."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Бұл қолданба планшетіңізбен үйлесімді емес."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Бұл қолданба теледидарыңызбен үйлесімді емес."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Бұл қолданба телефоныңызбен үйлесімді емес."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Белгіленген жинақ орнату аяқталғанға дейін жойылды."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Жинақ растаудан өтпеді және орнату мүмкін емес."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Бұл жинақты растау барысында жұмыс мезгілі аяқталды. Кейінірек қайта әрекеттеніп көріңіз."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> қолданбасын планшетіңізге орнату мүмкін емес"</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> теледидарыңызда орнату мүмкін емес."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g> қолданбасын телефоныңызға орнату мүмкін емес."</string>
<string name="launch" msgid="4826921505917605463">"Ашу"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Орнату бөгелген"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Қауіпсіздік мақсатында планшетіңіз белгісіз дереккөздерден алынған қолданба орнатуларын бөгеуге реттелген."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Қауіпсіздік мақсатында теледидарыңыз белгісіз көздерден алынған қолд. орнатуларын бөгеуге реттелген."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Қауіпсіздік мақсатында телефоныңыз белгісіз дереккөздерден алынған қолданба орнатуларын бөгеуге реттелген."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Әкімші белгісіз көздерден алынған қолданбаларды орнатуға рұқсат етпейді."</string>
<string name="ok" msgid="3468756155452870475">"Жарайды"</string>
<string name="settings" msgid="6743583734099755409">"Параметрлер"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Қолданбаларға арналған жаңа дереккөз"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> басқа қолданбаларды орнатуды қалайды.\n\nҚазір және болашақта рұқсат берілсін бе?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Қолданбаларды басқару"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Қолданбаны алмастырсын ба?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Сіз орнатып жатқан қолданба басқа қолданбаны алмастырады.\n\nСіздің бұрынғы пайдаланушы деректеріңіз сақталады."</string>
@@ -69,31 +63,34 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Бұл қолданбаны алып тастауды қалайсыз ба?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Бұл қолданбаны "<b>"барлық"</b>" пайдаланушылар үшін алып тастауды қалайсыз ба? Қолданба және оның деректері құрылғыдағы "<b>"барлық"</b>" пайдаланушылардан алынады."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Пайдаланушы <xliff:g id="USERNAME">%1$s</xliff:g> үшін осы қолданбаны жою керек пе?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Бұл қолданбаның зауыттық нұсқасын қайтаруды қалайсыз ба?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Осы қолданбаны зауыттық нұсқамен ауыстыру керек пе? Бүкіл деректер жойылады."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Осы қолданбаны зауыттық нұсқамен ауыстыру керек пе? Бүкіл деректер жойылады. Бұл осы құрылғының барлық пайдаланушыларына, соның ішінде жұмыс профильдері бар пайдаланушыларға әсер етеді."</string>
<string name="uninstalling" msgid="5556217435895938250">"Алып тастау орындалуда..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Алып тастау аяқталды."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Алып тастау сәтсіздікке ұшырады."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Алып тастау мүмкін емес, себебі бұл жинақ құрылғының қосылып тұрған әкімшісі."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Жою мүмкін емес, өйткені бұл бума <xliff:g id="USERNAME">%1$s</xliff:g> пайдаланушысының белсенді құрылғы әкімшісі болып табылады."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Бұл қолданба жұмыс профиліңіз үшін қажет және оны жою мүмкін емес."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Бұл қолданба кейбір пайдаланушылар немесе профильдер үшін қажет және басқалар үшін жойылды"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Бұл қолданба профиліңіз үшін қажет және оны жою мүмкін емес."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Әкімші осы қолданбаны талап етеді және оны жою мүмкін емес."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Құрылғы әкімшілерін басқару"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Пайдаланушыларды басқару"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> қолданбасын алып тастау мүмкін емес."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Қателікті сараптау"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Жинақты сараптау кезінде мәселе орын алды."</string>
<string name="newPerms" msgid="6039428254474104210">"Жаңа"</string>
<string name="allPerms" msgid="1024385515840703981">"Барлық"</string>
- <string name="privacyPerms" msgid="1850527049572617">"Құпиялық"</string>
+ <string name="privacyPerms" msgid="1850527049572617">"Құпиялылық"</string>
<string name="devicePerms" msgid="6733560207731294504">"Құралға кіру"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Бұл қолданба жаңа рұқсаттарды қажет етпейді."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Келесі нәрселерге рұқсат бересіз бе? Мыналар қол жетіміді болады:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Рұқсат беру"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Қабылдамау"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Бәрібір рұқсат бермеу"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>/<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"<xliff:g id="APP_NAME">%1$s</xliff:g> қолданбасына <xliff:g id="ACTION">%2$s</xliff:g> рұқсатын бересіз бе?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; қолданбасына <xliff:g id="ACTION">%2$s</xliff:g> рұқсатын беру керек пе?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Рұқсат беру"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Қолданбалар"</string>
<string name="app_permissions" msgid="3146758905824597178">"Қолданба рұқсаттары"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Қайтадан сұрамау"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Қайта сұралмасын"</string>
<string name="no_permissions" msgid="3210542466245591574">"Рұқсат жоқ"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Қосымша рұқсаттар"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Бұл рұқсат параметрін өзгерту үшін алдымен «Параметрлер» &gt; «Қолданбалар» тармағында экранды қабаттастыруды өшіру керек"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Параметрлерді ашу"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Wear құрылғысында \"Орнату\"/\"Жою\" әрекеттеріне қолдау көрсетілмейді."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Wear құрылғысында \"Орнату\"/\"Жою\" әрекеттері қолданылмайды."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> жаңартылды. <xliff:g id="APP_NAME_1">%1$s</xliff:g> келесілерге қатынасуға рұқсат ету керек пе?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"<xliff:g id="APP_NAME">%1$s</xliff:g> неге қатынасуға рұқсат етуді таңдау"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> жаңартылды. Осы қолданбаға неге қатынасуға рұқсат ету керек екенін таңдаңыз."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Бас тарту"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Жалғастыру"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Жаңа рұқсаттар"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Ағымдағы рұқсаттар"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Қолданба реттелуде…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Белгісіз"</string>
</resources>
diff --git a/res/values-km-rKH-television/strings.xml b/res/values-km-rKH-television/strings.xml
index a4e80094..1797380d 100644
--- a/res/values-km-rKH-television/strings.xml
+++ b/res/values-km-rKH-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"អ្នកអាចប្តូរវាពេលក្រោយនៅក្នុងការកំណត់ &gt; កម្មវិធី"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"បង្ហាញកម្មវិធីប្រព័ន្ធ"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"សិទ្ធិអនុញ្ញាតកម្មវិធី"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"សិទ្ធិអនុញ្ញាតកម្មវិធី"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"សិទ្ធិអនុញ្ញាត <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"សិទ្ធិអនុញ្ញាតបន្ថែម"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"សិទ្ធិអនុញ្ញាត <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-km-rKH/strings.xml b/res/values-km-rKH/strings.xml
index f8958c0a..4aedfddd 100644
--- a/res/values-km-rKH/strings.xml
+++ b/res/values-km-rKH/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"តើ​អ្នក​ចង់​ដំឡើង​បច្ចុប្បន្នភាព​កម្មវិធី​ដែល​មាន​ស្រាប់​នេះ? ​ទិន្នន័យ​ដែល​មាន​ស្រាប់​របស់​អ្នក​នឹង​មិន​បាត់បង់​ទេ។ វា​មិន​ទាមទារ​ការ​ចូល​ដំណើរការ​ពិសេស​ណាមួយ​ទេ។"</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"តើ​អ្នក​ចង់​ដំឡើង​បច្ចុប្បន្នភាព​កម្មវិធី​ដែល​ជាប់​ជា​មួយ? ​ទិន្នន័យ​ដែល​មាន​ស្រាប់​របស់​អ្នក​នឹង​មិន​បាត់បង់​ទេ។ វា​មិន​ទាមទារ​ការ​ចូល​ដំណើរការ​ពិសេស​ណាមួយ​ទេ។"</string>
<string name="install_failed" msgid="6579998651498970899">"មិន​បាន​ដំឡើង​កម្មវិធី។"</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"កញ្ចប់នេះត្រូវបានរារាំងមិនឲ្យដំឡើង"</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"កញ្ចប់នេះប្រឆាំងគ្នានឹងកញ្ចប់ដែលមានស្រាប់ដោយសារមានឈ្មោះដូចគ្នា"</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"កម្មវិធីនេះមិនត្រូវគ្នាជាមួយថេប្លេតរបស់អ្នកទេ"</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"កម្មវិធីនេះមិនត្រូវគ្នាជាមួយទូរទស្សន៍របស់អ្នកទេ"</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"កម្មវិធីនេះមិនត្រូវគ្នាជាមួយទូរស័ព្ទរបស់អ្នកទេ"</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"កញ្ចប់​បង្ហាញ​ថា​ខូច។"</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"មាន​កញ្ចប់​ដែល​មាន​ឈ្មោះ​ដូច​គ្នា​​​ជាន់​​ហត្ថលេខា​ត្រូវ​បាន​ដំឡើង​រួច​ហើយ។"</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"កញ្ចប់​​ដំណើរការ​តែ​នៅ​លើ​កំណែ​ថ្មីៗ​របស់​ Android ប៉ុណ្ណោះ ។"</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"កម្មវិធី​នេះ​មិន​ត្រូវ​គ្នា​​​ជា​មួយ​កុំព្យូទ័រ​បន្ទះ​របស់​អ្នក​ទេ។"</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"កម្មវិធីនេះមិនត្រូវគ្នាជាមួយទូរទស្សន៍របស់អ្នកទេ។"</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"កម្មវិធី​នេះ​មិន​ត្រូវ​គ្នា​ជា​មួយ​ទូរស័ព្ទ​របស់​អ្នក។"</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"កញ្ចប់​បាន​បញ្ជាក់​ត្រូវ​បាន​លុប​មុន​ការ​​ដំឡើង​​បាន​បញ្ចប់។"</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"កញ្ចប់​មិន​​ទាន់បាន​ផ្ទៀងផ្ទាត់ និង​មិន​អាច​ដំឡើង​បាន​ទេ។"</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"អស់​ពេល​ខណៈ​ដែល​កំពុង​ផ្ទៀងផ្ទាត់​កញ្ចប់​នេះ។ ព្យាយាម​ដំឡើង​វា​ម្ដង​ទៀត​ពេល​ក្រោយ។"</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"មិន​អាច​ដំឡើង <xliff:g id="APP_NAME">%1$s</xliff:g> ក្នុង​កុំព្យូទ័រ​បន្ទះ​របស់​អ្នក។"</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> មិនអាចដំឡើងនៅលើទូរទស្សន៍របស់អ្នកទេ។"</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"មិន​អាច​ដំឡើង <xliff:g id="APP_NAME">%1$s</xliff:g> ក្នុង​ទូរស័ព្ទ​របស់​អ្នក។"</string>
<string name="launch" msgid="4826921505917605463">"បើក"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"បាន​ទប់ស្កាត់​ការ​ដំឡើង"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"ដើម្បី​សុវត្ថិភាព ទូរស័ព្ទ​របស់​អ្នក​ត្រូវ​បាន​កំណត់ ដើម្បី​ទប់ស្កាត់​ការដំឡើង​កម្មវិធី​ដែល​បាន​មកពី​ប្រភព​មិន​ស្គាល់។"</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"ដោយបញ្ហាសុវត្ថិភាព ទូរទស្សន៍របស់អ្នកត្រូវបានកំណត់ឲ្យរារាំងការដំឡើងកម្មវិធីដែលចេញមកពីប្រភពមិនស្គាល់។"</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"ដើម្បី​សុវត្ថិភាព ទូរស័ព្ទ​របស់​អ្នក​ត្រូវ​បាន​កំណត់ ដើម្បី​ទប់ស្កាត់​ការដំឡើង​កម្មវិធី​ដែល​បាន​មកពី​ប្រភព​មិន​ស្គាល់។"</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"អ្នក​គ្រប់គ្រង​របស់​អ្នក​មិន​អនុញ្ញាត​ឲ្យ​ដំឡើង​កម្មវិធី​ដែល​បាន​ទទួល​ពី​ប្រភព​មិន​ស្គាល់។"</string>
<string name="ok" msgid="3468756155452870475">"យល់​ព្រម​"</string>
<string name="settings" msgid="6743583734099755409">"ការ​កំណត់"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"ប្រភព​ថ្មី​សម្រាប់​កម្មវិធី"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> ចង់​ដំឡើង​កម្មវិធី​ផ្សេង។\n\nអនុញ្ញាត​ឥឡូវ​ និង​ពេល​អនាគត?"</string>
<string name="manage_applications" msgid="4033876279091996596">"គ្រប់គ្រង​កម្មវិធី"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"ជំនួស​កម្មវិធី​?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"កម្មវិធី​ដែល​អ្នក​កំពុង​ដំឡើង​នឹង​ជំនួយ​កម្មវិធី​ផ្សេង។\n\nទិន្នន័យ​អ្នក​ពី​មុន​របស់​អ្នក​ទាំងអស់​នឹង​ត្រូវ​បាន​រក្សាទុក។"</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"តើ​អ្នក​ចង់​លុប​កម្មវិធី​នេះ​ឬ?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"តើ​អ្នក​ចង់​លុប​កម្មវិធី​នេះ​សម្រាប់​អ្នកប្រើ "<b>"ទាំងអស់"</b>"? កម្មវិធី និង​ទិន្នន័យ​របស់​វា​នឹង​ត្រូវ​បាន​លុប​ចេញ​ពី​អ្នកប្រើ "<b>"ទាំងអស់"</b>" ក្នុង​ឧបករណ៍​នេះ។"</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"តើ​អ្នក​ចង់​លុប​កម្មវិធី​នេះ​សម្រាប់​អ្នកប្រើ <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"តើ​អ្នក​ចង់​ជំនួស​កម្មវិធី​នេះ​​ដោយ​កំណែ​រោងចក្រ​ឬ?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"ជំនួសកម្មវិធីនេះដោយកំណែរោងចក្រឬ? ទិន្នន័យទាំងអស់នឹងត្រូវបានលុបចេញ។"</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"ជំនួយកម្មវិធីនេះដោយកំណែរោងចក្រឬ? ទិន្នន័យទាំងអស់នឹងត្រូវបានលុបចេញ។ វាប៉ះពាល់ដល់អ្នកប្រើឧបករណ៍នេះទាំងអស់ ដោយរាប់បញ្ចូលទាំងអ្នកប្រើដែលមានប្រវត្តិរូបការងារផងដែរ។"</string>
<string name="uninstalling" msgid="5556217435895938250">"កំពុង​លុប..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"បាន​បញ្ចប់​ការ​លុប។"</string>
<string name="uninstall_failed" msgid="631122574306299512">"ការ​លុប​បរាជ័យ។"</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"មិន​អាច​លុប​ព្រោះ​កញ្ចប់​នេះ​ជា​ឧបករណ៍​សកម្ម។"</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"មិនអាចលុបការដំឡើងទេ ពីព្រោះកញ្ចប់នេះគឺជាកម្មវិធីគ្រប់គ្រងឧបករណ៍សកម្មសម្រាប់អ្នកប្រើ <xliff:g id="USERNAME">%1$s</xliff:g>។"</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"កម្មវិធីនេះចាំបាច់សម្រាប់ប្រវតិ្តការងាររបស់អ្នក ហើយវាមិនអាចលុបការដំឡើងបានទេ។"</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"កម្មវិធីនេះតម្រូវឲ្យមានសម្រាប់អ្នកប្រើ ឬប្រវត្តិរូបមួយចំនួន និងត្រូវបានលុបសម្រាប់អ្នកប្រើផ្សេងទៀត"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"កម្មវិធីនេះចាំបាច់សម្រាប់ប្រវតិ្តការងាររបស់អ្នក ហើយវាមិនអាចលុបបានទេ។"</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"កម្មវិធីនេះត្រូវបានទាមទារដោយអ្នកគ្រប់គ្រងឧបករណ៍របស់អ្នក ហើយមិនអាចលុប​ចេញបាន​ទេ។"</string>
<string name="manage_device_administrators" msgid="891392489300312370">"គ្រប់គ្រង​អ្នក​គ្រប់គ្រង​ឧបករណ៍"</string>
+ <string name="manage_users" msgid="3125018886835668847">"គ្រប់គ្រងអ្នកប្រើ"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"មិន​អាច​លុប <xliff:g id="APP_NAME">%1$s</xliff:g> ។"</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"កំហុស​ញែក"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"មាន​បញ្ហា​ក្នុង​ការ​ញែក​​កញ្ចប់។"</string>
<string name="newPerms" msgid="6039428254474104210">"ថ្មី"</string>
<string name="allPerms" msgid="1024385515840703981">"ទាំងអស់"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"ការ​ចូល​ដំណើរការ​ឧបករណ៍"</string>
<string name="no_new_perms" msgid="6657813692169565975">"បច្ចុប្បន្នភាព​នេះ​មិន​ទាមទារ​សិទ្ធិ​ថ្មី​ទេ។"</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"តើ​អ្នក​ចង់​ផ្ដល់​សិទ្ធិ​ដូច​ខាងក្រោម? វា​នឹង​ចូល​ទៅ៖"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"អនុញ្ញាត"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"បដិសេធ"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"បដិសេធទោះយ៉ាងណាក៏ដោយ"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> នៃ <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"អនុញ្ញាតឲ្យ <xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"អនុញ្ញាតឲ្យ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"អនុញ្ញាត"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"កម្មវិធី"</string>
<string name="app_permissions" msgid="3146758905824597178">"សិទ្ធិ​កម្មវិធី"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"កុំសួរទៀត"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"កុំសួរទៀត"</string>
<string name="no_permissions" msgid="3210542466245591574">"គ្មានសិទ្ធិអនុញ្ញាត"</string>
<string name="additional_permissions" msgid="6667573114240111763">"សិទ្ធិអនុញ្ញាតបន្ថែម"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"ដើម្បីប្តូរការកំណត់សិទ្ធិអនុញ្ញាតនេះ ជាដំបូងអ្នកត្រូវបិទអេក្រង់ត្រួតគ្នានៅក្នុង ការកំណត់ &gt; កម្មវិធី"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"បើកការកំណត់"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"សកម្មភាពដំឡើង/លុបការដំឡើងមិនគាំទ្រនៅលើ Wear ទេ"</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"សកម្មភាពដំឡើង/លុបការដំឡើងមិនគាំទ្រនៅលើ Wear ទេ"</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> ត្រូវបានអាប់ដេតហើយ។ អនុញ្ញាតឲ្យ <xliff:g id="APP_NAME_1">%1$s</xliff:g> ចូលដំណើរការធាតុខាងក្រោមឬ?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"ជ្រើសអ្វីដែលត្រូវអនុញ្ញាតឲ្យ <xliff:g id="APP_NAME">%1$s</xliff:g> ចូលដំណើរការ"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> ត្រូវបានអាប់ដេតហើយ។ ជ្រើសអ្វីដែលត្រូវអនុញ្ញាតឲ្យកម្មវិធីនេះចូលដំណើរការ។"</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"បោះបង់"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"បន្ត"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"សិទ្ធិអនុញ្ញាតថ្មី"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"សិទ្ធិអនុញ្ញាតបច្ចុប្បន្ន"</string>
+ <string name="message_staging" msgid="6151794817691100003">"កំពុងសាកល្បងកម្មវិធី…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"មិនស្គាល់"</string>
</resources>
diff --git a/res/values-kn-rIN-television/strings.xml b/res/values-kn-rIN-television/strings.xml
index 5244bdc5..335b06cc 100644
--- a/res/values-kn-rIN-television/strings.xml
+++ b/res/values-kn-rIN-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"ನೀವು ಇದನ್ನು ನಂತರದಲ್ಲಿ ಸೆಟ್ಟಿಂಗ್‍‍ಗಳು &gt; ಅಪ್ಲಿಕೇಶನ್‍‍ಗಳಲ್ಲಿ ಬದಲಾಯಿಸಬಹುದು"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"ಸಿಸ್ಟಂ ಅಪ್ಲಿಕೇಶನ್‌‌ಗಳನ್ನು ತೋರಿಸು"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"ಅಪ್ಲಿಕೇಶನ್ ಅನುಮತಿಗಳು"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"ಅಪ್ಲಿಕೇಶನ್ ಅನುಮತಿಗಳು"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> ಅನುಮತಿಗಳು"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"ಹೆಚ್ಚುವರಿ ಅನುಮತಿಗಳು"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> ಅನುಮತಿಗಳು"</string>
</resources>
diff --git a/res/values-kn-rIN/strings.xml b/res/values-kn-rIN/strings.xml
index 298b7cfd..60b7948b 100644
--- a/res/values-kn-rIN/strings.xml
+++ b/res/values-kn-rIN/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"ನೀವು ಈ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಅಪ್ಲಿಕೇಶನ್‍ನ ಅಪ್‌ಡೇಟ್‌‌ ಆದ ಅಪ್ಲಿಕೇಶನ್ ಸ್ಥಾಪಿಸಲು ಬಯಸುವಿರಾ? ಈಗಿರುವ ನಿಮ್ಮ ಡೇಟಾ ಕಳೆದು ಹೋಗುವುದಿಲ್ಲ. ಇದಕ್ಕೆ ಯಾವುದೇ ವಿಶೇಷ ಪ್ರವೇಶದ ಅಗತ್ಯವಿಲ್ಲ."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"ನೀವು ಈ ಬಿಲ್ಟ್-ಇನ್-ಅಪ್ಲಿಕೇಶನ್‌ನ ಅಪ್‌ಡೇಟ್‌‌ ಆದ ಅಪ್ಲಿಕೇಶನ್ ಸ್ಥಾಪಿಸಿಕೊಳ್ಳಲು ಬಯಸುವಿರಾ? ಈಗಿರುವ ನಿಮ್ಮ ಡೇಟಾ ಕಳೆದು ಹೋಗುವುದಿಲ್ಲ. ಇದಕ್ಕೆ ಯಾವುದೇ ವಿಶೇಷ ಪ್ರವೇಶದ ಅಗತ್ಯವಿಲ್ಲ."</string>
<string name="install_failed" msgid="6579998651498970899">"ಅಪ್ಲಿಕೇಶನ್ ಸ್ಥಾಪಿಸಲಾಗಿಲ್ಲ."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"ಸ್ಥಾಪಿಸುವಿಕೆಯಿಂದ ಪ್ಯಾಕೇಜ್‌ ಅನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"ಅದೇ ಹೆಸರಿನ ಮೂಲಕ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಪ್ಯಾಕೇಜ್‌ನ ಜೊತೆಗೆ ಪ್ಯಾಕೇಜ್ ಸಂಘರ್ಷವಾಗುತ್ತದೆ."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"ಈ ಅಪ್ಲಿಕೇಶನ್ ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್‍ ಜೊತೆ ಹೊಂದಾಣಿಕೆಯಾಗುವುದಿಲ್ಲ."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"ಈ ಅಪ್ಲಿಕೇಶನ್ ನಿಮ್ಮ ಟಿವಿ ಜೊತೆ ಹೊಂದಾಣಿಕೆಯಾಗುವುದಿಲ್ಲ."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"ಈ ಅಪ್ಲಿಕೇಶನ್ ನಿಮ್ಮ ಫೋನ್‍ನೊಂದಿಗೆ ಹೊಂದಾಣಿಕೆಯಾಗುತ್ತಿಲ್ಲ."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"ಪ್ಯಾಕೇಜ್ ಹಾನಿಗೀಡಾಗಿರುವಂತೆ ತೋರುತ್ತಿದೆ."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"ಸಂಘರ್ಷನೀಯ ಸಹಿಯನ್ನು ಹೊಂದಿರುವ ಮತ್ತದೇ ಹೆಸರಿನ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಈಗಾಗಲೇ ಸ್ಥಾಪಿಸಲಾಗಿದೆ."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Android ನ ನೂತನ ಆವೃತ್ತಿಗಳಲ್ಲಿ ಮಾತ್ರ ಪ್ಯಾಕೇಜ್ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"ಈ ಅಪ್ಲಿಕೇಶನ್ ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್‍ ಜೊತೆ ಹೊಂದಾಣಿಕೆಯಾಗುವುದಿಲ್ಲ."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"ಈ ಅಪ್ಲಿಕೇಶನ್ ನಿಮ್ಮ ಟಿವಿ ಜೊತೆ ಹೊಂದಾಣಿಕೆಯಾಗುವುದಿಲ್ಲ."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"ಈ ಅಪ್ಲಿಕೇಶನ್ ನಿಮ್ಮ ಫೋನ್‍ನೊಂದಿಗೆ ಹೊಂದಾಣಿಕೆಯಾಗುತ್ತಿಲ್ಲ."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"ಸ್ಥಾಪನೆಯನ್ನು ಪೂರ್ಣಗೊಳಿಸುವುದಕ್ಕೂ ಮೊದಲು ನಿರ್ದಿಷ್ಟಪಡಿಸಿರುವ ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಅಳಿಸಲಾಗಿದೆ."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"ಪ್ಯಾಕೇಜ್ ಪರಿಶೀಲನೆಯನ್ನು ಪೂರೈಸಲಿಲ್ಲ ಮತ್ತು ಸ್ಥಾಪಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"ಈ ಪ್ಯಾಕೇಜ್ ಪರಿಶೀಲಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿರುವಲ್ಲಿ ಅವಧಿ ಮೀರಿದೆ. ಅದನ್ನು ನಂತರ ಮತ್ತೆ ಸ್ಥಾಪಿಸಲು ಪ್ರಯತ್ನಿಸಿ."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್‌ನಲ್ಲಿ <xliff:g id="APP_NAME">%1$s</xliff:g> ಸ್ಥಾಪಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> ಅನ್ನು ನಿಮ್ಮ ಟಿವಿಗೆ ಸ್ಥಾಪಿಸಲಾಗುವುದಿಲ್ಲ."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"ನಿಮ್ಮ ಫೋನ್‌ನಲ್ಲಿ <xliff:g id="APP_NAME">%1$s</xliff:g> ಸ್ಥಾಪಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ."</string>
<string name="launch" msgid="4826921505917605463">"ತೆರೆ"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"ಸ್ಥಾಪನೆಯನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"ರಕ್ಷಣೆಯ ದೃಷ್ಟಿಯಿಂದ, ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್‌‌ ಅನ್ನು ಅಜ್ಞಾತ ಮೂಲಗಳಿಂದ ಪಡೆದುಕೊಳ್ಳುವ ಅಪ್ಲಿಕೇಶನ್‍‍ಗಳ ಸ್ಥಾಪನೆಯನ್ನು ನಿರ್ಬಂಧಿಸುವಂತೆ ಹೊಂದಿಸಲಾಗಿದೆ."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"ರಕ್ಷಣೆಯ ದೃಷ್ಟಿಯಿಂದ, ನಿಮ್ಮ ಟಿವಿ ಅನ್ನು ಅಜ್ಞಾತ ಮೂಲಗಳಿಂದ ಪಡೆದುಕೊಳ್ಳುವ ಅಪ್ಲಿಕೇಶನ್‍‍ಗಳ ಸ್ಥಾಪನೆಯನ್ನು ನಿರ್ಬಂಧಿಸುವಂತೆ ಹೊಂದಿಸಲಾಗಿದೆ."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"ರಕ್ಷಣೆಯ ದೃಷ್ಟಿಯಿಂದ, ನಿಮ್ಮ ಫೋನ್ ಅನ್ನು ಅಜ್ಞಾತ ಮೂಲಗಳಿಂದ ಪಡೆದುಕೊಳ್ಳುವ ಅಪ್ಲಿಕೇಶನ್‍‍ಗಳ ಸ್ಥಾಪನೆಯನ್ನು ನಿರ್ಬಂಧಿಸುವಂತೆ ಹೊಂದಿಸಲಾಗಿದೆ."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"ನಿಮ್ಮ ನಿರ್ವಾಹಕರು ಅಪರಿಚಿತ ಮೂಲಗಳಿಂದ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಸ್ಥಾಪನೆಯನ್ನು ಅನುಮತಿಸುವುದಿಲ್ಲ."</string>
<string name="ok" msgid="3468756155452870475">"ಸರಿ"</string>
<string name="settings" msgid="6743583734099755409">"ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"ಅಪ್ಲಿಕೇಶನ್‍ಗಳಿಗಾಗಿ ಹೊಸ ಮೂಲ"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> ಇತರ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಸ್ಥಾಪಿಸಲು ಬಯಸುತ್ತದೆ.\n\nಇದನ್ನು ಈಗಲೇ ಮತ್ತು ಭವಿಷ್ಯದಲ್ಲಿ ಅನುಮತಿಸುವುದೇ?"</string>
<string name="manage_applications" msgid="4033876279091996596">"ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಿ"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"ಅಪ್ಲಿಕೇಶನ್ ಬದಲಿಸುವುದೇ?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"ನೀವು ಸ್ಥಾಪಿಸುತ್ತಿರುವ ಅಪ್ಲಿಕೇಶನ್ ಮತ್ತೊಂದು ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಬದಲಾಯಿಸುತ್ತದೆ.\n\nನಿಮ್ಮ ಹಿಂದಿನ ಎಲ್ಲಾ ಬಳಕೆದಾರ ಡೇಟಾವನ್ನು ಉಳಿಸಲಾಗುತ್ತದೆ."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"ನೀವು ಈ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಅಸ್ಥಾಪಿಸಲು ಬಯಸುವಿರಾ?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"ನೀವು "<b>"ಎಲ್ಲಾ"</b>" ಬಳಕೆದಾರರಿಗೂ ಈ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಅಸ್ಥಾಪಿಸಲು ಬಯಸುವಿರಾ? ಸಾಧನದಲ್ಲಿನ "<b>"ಎಲ್ಲಾ"</b>" ಬಳಕೆದಾರರಿಂದ ಅಪ್ಲಿಕೇಶನ್ ಮತ್ತು ಅದರ ಡೇಟಾವನ್ನು ತೆಗೆದುಹಾಕಲಾಗುವುದು."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"<xliff:g id="USERNAME">%1$s</xliff:g> ಬಳಕೆದಾರರಿಗೆ ಈ ಅಪ್ಲಿಕೇಶನ್‌ ಅನ್ನು ಅಸ್ಥಾಪಿಸಲು ನೀವು ಬಯಸುವಿರಾ?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"ನೀವು ಈ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಫ್ಯಾಕ್ಟರಿ ಆವೃತ್ತಿಯೊಂದಿಗೆ ಬದಲಿಸಲು ಬಯಸುವಿರಾ?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"ಈ ಅಪ್ಲಿಕೇಶನ್ ಬದಲಿಗೆ ಫ್ಯಾಕ್ಟರಿ ಆವೃತ್ತಿಯನ್ನು ಬದಲಾಯಿಸುವುದೇ? ಎಲ್ಲಾ ಡೇಟಾ ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"ಈ ಅಪ್ಲಿಕೇಶನ್ ಬದಲಿಗೆ ಫ್ಯಾಕ್ಟರಿ ಆವೃತ್ತಿಯನ್ನು ಬದಲಾಯಿಸುವುದೇ? ಎಲ್ಲಾ ಡೇಟಾ ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ. ಕೆಲಸದ ಪ್ರೊಫೈಲ್‌ಗಳನ್ನು ಹೊಂದಿರುವವುಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ಈ ಸಾಧನದ ಎಲ್ಲಾ ಬಳಕೆದಾರರಿಗೆ ಇದು ಪರಿಣಾಮ ಬೀರುತ್ತದೆ."</string>
<string name="uninstalling" msgid="5556217435895938250">"ಅಸ್ಥಾಪಿಸಲಾಗುತ್ತಿದೆ…"</string>
<string name="uninstall_done" msgid="3792487853420281888">"ಅಸ್ಥಾಪನೆ ಪೂರ್ಣಗೊಂಡಿದೆ."</string>
<string name="uninstall_failed" msgid="631122574306299512">"ಅಸ್ಥಾಪನೆ ವಿಫಲವಾಗಿದೆ."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"ಈ ಪ್ಯಾಕೇಜ್ ಸಕ್ರಿಯ ಸಾಧನ ನಿರ್ವಾಹಕವಾಗಿರುವ ಕಾರಣ ಅಸ್ಥಾಪಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"ಈ ಪ್ಯಾಕೇಜ್ <xliff:g id="USERNAME">%1$s</xliff:g> ಬಳಕೆದಾರರಿಗೆ ಸಕ್ರಿಯವಾದ ಸಾಧನ ನಿರ್ವಾಹಕವಾಗಿರುವ ಕಾರಣ ಅಸ್ಥಾಪಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"ಈ ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ನಿಮ್ಮ ಕೆಲಸದ ಪ್ರೊಫೈಲ್‌‌ನ ಅಗತ್ಯವಿದೆ ಮತ್ತು ಅಸ್ಥಾಪಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"ಕೆಲವು ಬಳಕೆದಾರರು ಅಥವಾ ಪ್ರೊಫೈಲ್‌ಗಳಿಗೆ ಈ ಅಪ್ಲಿಕೇಶನ್ ಅಗತ್ಯವಿರುತ್ತದೆ ಮತ್ತು ಇತರರಿಗೆ ಅಸ್ಥಾಪಿಸಲಾಗಿದೆ"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"ಈ ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ನಿಮ್ಮ ಪ್ರೊಫೈಲ್‌‌ನ ಅಗತ್ಯವಿದೆ ಮತ್ತು ಅಸ್ಥಾಪಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"ಈ ಅಪ್ಲಿಕೇಶನ್ ನಿಮ್ಮ ಸಾಧನ ನಿರ್ವಾಹಕರಿಗೆ ಅಗತ್ಯವಿದೆ ಮತ್ತು ಅಸ್ಥಾಪಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"ಸಾಧನದ ನಿರ್ವಾಹಕರನ್ನು ನಿರ್ವಹಿಸು"</string>
+ <string name="manage_users" msgid="3125018886835668847">"ಬಳಕೆದಾರರನ್ನು ನಿರ್ವಹಿಸಿ"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> ಅನ್ನು ಅಸ್ಥಾಪಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"ಪಾರ್ಸ್ ದೋಷ"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"ಪ್ಯಾಕೇಜ್ ಪಾರ್ಸ್ ಮಾಡುವಲ್ಲಿ ಸಮಸ್ಯೆ ಕಂಡುಬಂದಿದೆ."</string>
<string name="newPerms" msgid="6039428254474104210">"ಹೊಸತು"</string>
<string name="allPerms" msgid="1024385515840703981">"ಎಲ್ಲಾ"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"ಸಾಧನ ಪ್ರವೇಶ"</string>
<string name="no_new_perms" msgid="6657813692169565975">"ಈ ನವೀಕರಣಕ್ಕೆ ಯಾವುದೇ ಹೊಸ ಅನುಮತಿಗಳ ಅಗತ್ಯವಿಲ್ಲ."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"ನೀವು ಕೆಳಗಿನ ಅನುಮತಿಗಳನ್ನು ನೀಡ ಬಯಸುತ್ತೀರಾ? ಇದು ಇಲ್ಲಿ ಪ್ರವೇಶ ಪಡೆದುಕೊಳ್ಳಬಹುದು:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"ಅನುಮತಿಸು"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"ನಿರಾಕರಿಸು"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"ಹೇಗಾದರೂ ನಿರಾಕರಿಸಿ"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g> ರಲ್ಲಿ <xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"<xliff:g id="ACTION">%2$s</xliff:g> <xliff:g id="APP_NAME">%1$s</xliff:g> ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಅನುಮತಿಸುವುದೇ?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"<xliff:g id="ACTION">%2$s</xliff:g> ಗೆ <xliff:g id="APP_NAME">%1$s</xliff:g> ಅನ್ನು ಅನುಮತಿಸುವುದೇ?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"ಅನುಮತಿಸು"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"ಅಪ್ಲಿಕೇಶನ್‌ಗಳು"</string>
<string name="app_permissions" msgid="3146758905824597178">"ಅಪ್ಲಿಕೇಶನ್ ಅನುಮತಿಗಳು"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"ಎಂದಿಗೂ ಮತ್ತೊಮ್ಮೆ ಕೇಳಬೇಡಿ"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"ಮತ್ತೆ ಕೇಳಬೇಡಿ"</string>
<string name="no_permissions" msgid="3210542466245591574">"ಯಾವುದೇ ಅನುಮತಿಗಳಿಲ್ಲ"</string>
<string name="additional_permissions" msgid="6667573114240111763">"ಹೆಚ್ಚುವರಿ ಅನುಮತಿಗಳು"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"ಈ ಅನುಮತಿ ಸೆಟ್ಟಿಂಗ್ ಬದಲಾಯಿಸಲು, ನೀವು ಮೊದಲು ಸೆಟ್ಟಿಂಗ್‌ಗಳು &gt; ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಂದ ಪರದೆ ಆವರಿಸಿಕೊಳ್ಳುವಿಕೆಯನ್ನು ಆಫ್ ಮಾಡಬೇಕು"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"ಸೆಟ್ಟಿಂಗ್‍ಗಳನ್ನು ತೆರೆಯಿರಿ"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"ಸ್ಥಾಪಿಸುವಿಕೆ/ಅಸ್ಥಾಪಿಸುವಿಕೆ ಕ್ರಿಯೆಗಳು Wear ನಲ್ಲಿ ಬೆಂಬಲಿಸುವುದಿಲ್ಲ."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Wear ನಲ್ಲಿ ಸ್ಥಾಪಿಸುವಿಕೆ/ಅಸ್ಥಾಪಿಸುವಿಕೆ ಕ್ರಿಯೆಗಳು ಬೆಂಬಲಿತವಾಗಿಲ್ಲ."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> ಅಪ್‌ಡೇಟ್ ಮಾಡಲಾಗಿದೆ. ಇದನ್ನು ಪ್ರವೇಶಿಸಲು <xliff:g id="APP_NAME_1">%1$s</xliff:g> ಗೆ ಅನುಮತಿಸುವುದೇ?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"<xliff:g id="APP_NAME">%1$s</xliff:g> ಗೆ ಪ್ರವೇಶಿಸಲು ಯಾವುದನ್ನು ಅನುಮತಿಸಬೇಕು ಎಂಬುದನ್ನು ಆರಿಸಿಕೊಳ್ಳಿ"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> ಅನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡಲಾಗಿದೆ. ಈ ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಪ್ರವೇಶಿಸಲು ಯಾವುದನ್ನು ಅನುಮತಿಸಬೇಕು ಎಂಬುದನ್ನು ಆರಿಸಿಕೊಳ್ಳಿ"</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"ರದ್ದುಮಾಡು"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"ಮುಂದುವರಿಸು"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"ಹೊಸ ಅನುಮತಿಗಳು"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"ಪ್ರಸ್ತುತ ಅನುಮತಿಗಳು"</string>
+ <string name="message_staging" msgid="6151794817691100003">"ಸ್ಥಾಪಿಸಲು ಸಿದ್ಧವಿರುವ ಅಪ್ಲಿಕೇಶನ್…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"ಅಪರಿಚಿತ"</string>
</resources>
diff --git a/res/values-ko-television/strings.xml b/res/values-ko-television/strings.xml
index cc85a89a..6ad2ed6c 100644
--- a/res/values-ko-television/strings.xml
+++ b/res/values-ko-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"설정 &gt; 앱에서 나중에 변경할 수 있습니다."</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>개 중 <xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"시스템 앱 보기"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"앱 권한"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"앱 권한"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> 권한"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"추가 권한"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> 권한"</string>
</resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index fff5e5fc..54c32f7b 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"기존의 애플리케이션 업데이트를 설치하시겠습니까? 기존의 데이터는 손실되지 않으며 특별한 액세스 권한이 필요하지 않습니다."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"내장 애플리케이션 업데이트를 설치하시겠습니까? 기존의 데이터는 손실되지 않으며 특별한 액세스 권한이 필요하지 않습니다."</string>
<string name="install_failed" msgid="6579998651498970899">"앱이 설치되지 않았습니다."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"패키지 설치가 차단되었습니다."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"패키지가 이름이 같은 기존 패키지와 충돌합니다."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"앱이 사용 중인 태블릿과 호환되지 않습니다."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"앱이 사용 중인 TV와 호환되지 않습니다."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"앱이 사용 중인 스마트폰과 호환되지 않습니다."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"패키지가 손상된 것 같습니다."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"서명이 충돌하는 같은 이름의 기존 패키지가 이미 설치되어 있습니다."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"패키지는 상위 버전의 Android에서만 작동합니다."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"이 앱은 사용자의 태블릿과 호환되지 않습니다."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"앱이 현재 연결된 TV와 호환되지 않습니다."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"이 앱은 사용자의 휴대전화와 호환되지 않습니다."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"설치가 완료되기 전에 지정된 패키지가 삭제되었습니다."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"패키지가 인증을 통과하지 못해 설치할 수 없습니다."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"패키지를 확인하는 동안 시간이 초과했습니다. 나중에 다시 설치해 주세요."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"태블릿에 <xliff:g id="APP_NAME">%1$s</xliff:g> 앱을 설치할 수 없습니다."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g>을(를) TV에 설치할 수 없습니다."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"휴대전화에 <xliff:g id="APP_NAME">%1$s</xliff:g> 앱을 설치할 수 없습니다."</string>
<string name="launch" msgid="4826921505917605463">"열기"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"설치가 차단됨"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"보안을 위해 알 수 없는 출처에서 구매한 앱은 태블릿에 설치되지 않도록 설정되어 있습니다."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"보안상의 이유로 TV가 출처를 알 수 없는 앱 설치를 차단하도록 설정되어 있습니다."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"보안을 위해 알 수 없는 출처에서 구매한 앱은 휴대전화에 설치되지 않도록 설정되어 있습니다."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"관리자가 알 수 없는 출처의 앱 설치를 허용하지 않습니다."</string>
<string name="ok" msgid="3468756155452870475">"확인"</string>
<string name="settings" msgid="6743583734099755409">"설정"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"앱의 새로운 소스"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g>에서 다른 앱을 설치하려고 합니다.\n\n허용하시겠습니까? 이 설정은 향후에도 적용됩니다."</string>
<string name="manage_applications" msgid="4033876279091996596">"앱 관리"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"앱을 바꾸시겠습니까?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"설치 중인 앱이 다른 앱을 대체합니다.\n\n이전의 사용자 데이터는 모두 저장됩니다."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"이 앱을 제거하시겠습니까?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222"><b>"모든"</b>" 사용자에 대해 이 앱을 제거하시겠습니까? 기기를 사용하는 "<b>"모든"</b>" 사용자에 대해 애플리케이션 및 데이터가 삭제됩니다."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"<xliff:g id="USERNAME">%1$s</xliff:g>님의 기기에 설치된 앱을 제거하시겠습니까?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"앱을 초기 버전으로 바꾸시겠습니까?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"이 앱을 초기 버전으로 바꾸시겠습니까? 모든 데이터가 삭제됩니다."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"이 앱을 초기 버전으로 바꾸시겠습니까? 모든 데이터가 삭제되며 직장 프로필 사용자를 포함해 이 기기의 모든 사용자에게 영향을 미칩니다."</string>
<string name="uninstalling" msgid="5556217435895938250">"제거 중..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"제거를 완료했습니다."</string>
<string name="uninstall_failed" msgid="631122574306299512">"제거하지 못했습니다."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"이 패키지는 사용 중인 기기 관리자이기 때문에 제거할 수 없습니다."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"이 패키지는 <xliff:g id="USERNAME">%1$s</xliff:g>님이 사용 중인 기기 관리자이기 때문에 제거할 수 없습니다."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"이 앱은 직장 프로필에 필요하므로 삭제할 수 없습니다."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"이 앱은 일부 사용자 또는 프로필에 필요하며 다른 사용자에 대해서는 제거되었습니다."</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"이 앱은 프로필에 필요하므로 삭제할 수 없습니다."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"이 앱은 기기 관리자에게 필요하므로 제거할 수 없습니다."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"기기 관리자 관리"</string>
+ <string name="manage_users" msgid="3125018886835668847">"사용자 관리"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> 앱을 제거할 수 없습니다."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"구문분석 오류"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"패키지를 파싱하는 중 문제가 발생했습니다."</string>
<string name="newPerms" msgid="6039428254474104210">"새 권한"</string>
<string name="allPerms" msgid="1024385515840703981">"전체"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"기기 액세스"</string>
<string name="no_new_perms" msgid="6657813692169565975">"이 업데이트에는 새로운 권한이 필요하지 않습니다."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"다음 권한을 부여하시겠습니까? 권한이 부여되면 다음에 액세스할 수 있습니다."</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"허용"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"거부"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"거부"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"<xliff:g id="APP_NAME">%1$s</xliff:g>에서 <xliff:g id="ACTION">%2$s</xliff:g> 허용하시겠습니까?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;이(가) <xliff:g id="ACTION">%2$s</xliff:g>을(를) 할 수 있도록 허용하시겠습니까?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"허용"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"앱"</string>
<string name="app_permissions" msgid="3146758905824597178">"앱 권한"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"다시 묻지 않기"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"다시 묻지 않음"</string>
<string name="no_permissions" msgid="3210542466245591574">"권한이 없음"</string>
<string name="additional_permissions" msgid="6667573114240111763">"추가 권한"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"이 권한 설정을 변경하려면 먼저 설정 &gt; 앱에서 화면 오버레이를 사용하지 않도록 설정해야 합니다."</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"설정 열기"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Wear에서 지원하지 않는 설치/제거 작업입니다."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Wear에서 지원하지 않는 설치/제거 작업입니다."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g>이(가) 업데이트되었습니다. <xliff:g id="APP_NAME_1">%1$s</xliff:g>이(가) 다음에 액세스하도록 허용하시겠습니까?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"<xliff:g id="APP_NAME">%1$s</xliff:g>에서 액세스하도록 허용할 항목을 선택하세요."</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g>이(가) 업데이트되었습니다. 이 앱에서 액세스하도록 허용할 항목을 선택하세요."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"취소"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"계속"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"새로운 권한"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"기존 권한"</string>
+ <string name="message_staging" msgid="6151794817691100003">"앱 준비 중…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"알 수 없음"</string>
</resources>
diff --git a/res/values-ky-rKG-television/strings.xml b/res/values-ky-rKG-television/strings.xml
index 8ff2a828..20994ffb 100644
--- a/res/values-ky-rKG-television/strings.xml
+++ b/res/values-ky-rKG-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Муну кийин Жөндөөлөр &gt; Колдонмолордон өзгөртө аласыз"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Тутум колдонмолорун көрсөтүү"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Колдонмонун уруксаттары"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Колдонмонун уруксаттары"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> уруксаттары"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Кошумча уруксаттар"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> уруксаттары"</string>
</resources>
diff --git a/res/values-ky-rKG/strings.xml b/res/values-ky-rKG/strings.xml
index c1ebdde4..12bef9f0 100644
--- a/res/values-ky-rKG/strings.xml
+++ b/res/values-ky-rKG/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Учурда иштпе турган бул колдонмого жаңыртуу орнотоюн дегениңиз аныкпы? Сиздин сакталган берилиштериңиз өчүрүлбөйт. Ал эч бир атайын жетки уруксаттарын талап кылбайт."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Бул камтылган колдонмого жаңыртуу орнотоюн дегениңиз аныкпы? Сиздин сакталган берилиштериңиз өчүрүлбөйт. Ал эч бир атайын жетки уруксаттарын талап кылбайт."</string>
<string name="install_failed" msgid="6579998651498970899">"Колдонмо орнотулган жок."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Топтом орнотуудан бөгөттөлгөн."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Топтом аталышы окшош учурдагы топтомго карама-каршы келет."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Бул колдонмо планшетиңизге шайкеш эмес."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Бул колдонмо сыналгыңызга шайкеш келбейт."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Бул колдонмо телефонуңузга шайкеш эмес."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Топтом бузулган окшойт."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Аталышы окшош, бирок колтамгасы дал келбеген топтом мурунтан эле орнотулган."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Топтом жаңыраак Android версияларында гана иштейт."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Бул колдонмо планшетиңизге шайкеш эмес."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Бул колдонмо сыналгыңызга шайкеш келбейт."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Бул колдонмо телефонуңузга шайкеш эмес."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Көрсөтүлгөн таңгак орнотуу аяктай электе жок кылынды."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Таңгак текшерүүдөн өткөн жок жана аны орнотууга болбойт."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Бул таңгакты ырастоого бөлүнгөн убакыт өтүп кетти. Аны кийинчерээк кайта орнотуп көрүңүз."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> колдонмосун планшетиңизге орнотуу мүмкүн эмес."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> сыналгыңызга орнотулбай койду."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g> колдонмосун телефонуңузга орнотуу мүмкүн эмес."</string>
<string name="launch" msgid="4826921505917605463">"Ачуу"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Орнотуу бөгөттөлгөн"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Коопсуздукту камсыздоо үчүн, планшетиңизде белгисиз булактардан келген колдонмолорду орнотуу бөгөттөлгөн."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Коопсуздукту камсыз кылуу үчн, сыналгыңызда белгисз булактардн алынгн колдонмлрду орнтуу бөгөттөлгн."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Коопсуздукту камсыздоо үчүн, телефонуңузда белгисиз булактардан келген колдонмолорду орнотуу бөгөттөлгөн."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Администраторуңуз белгисиз булактардан алынган колдонмолордун орнотулушуна жол бербейт."</string>
<string name="ok" msgid="3468756155452870475">"Жарайт"</string>
<string name="settings" msgid="6743583734099755409">"Жөндөөлөр"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Колдонмолордун жаңы булагы"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> башка колдонмо орноткусу келет.\n\nАзыр жана кийин буга уруксат берилсинби?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Колдонмолорду башкаруу"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Колдонмо алмаштырылсынбы?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Сиз орнотуп жаткан колдонмо башка колдонмону жок кылат.\n\nМурунку колдонуучу берилиштериңиздин бардыгы сакталат."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Бул колдонмону чечип салгыңыз келеби?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Бул колдонмо "<b>"бардык"</b>" колдонуучулардан алынып салынсынбы? Бул колдонмо жана анын берилиштери бул түзмөктүн "<b>"бардык"</b>" колдонуучуларынан алынат."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Бул колдонмону <xliff:g id="USERNAME">%1$s</xliff:g> колдонуучусу үчүн орнотуудан чыгаргыңыз келеби?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Бул колдонмону абалкы орнотулган версиясы менен алмаштырасызбы?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Бул колдонмонун баштапкы версиясы орнотулсунбу? Бардык дайындар өчүп калат."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Бул колдонмонун баштапкы версиясы орнотулсунбу? Түзмөктөгү бардык профилдердин, ошондой эле жумушчу профилдин дайындары өчүп калат."</string>
<string name="uninstalling" msgid="5556217435895938250">"Чыгарылып салынууда…"</string>
<string name="uninstall_done" msgid="3792487853420281888">"Чечилип бүттү."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Чечүү ийгиликсиз болду."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Чечүү кыйрады, анткени бул таңгак түзмөктүн учурдагы администратору."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Орнотуудан чыгара албайт, анткени бул таңгак <xliff:g id="USERNAME">%1$s</xliff:g> колдонуучусунун активдүү түзмөк администратору."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Бул колдонмо жумуш профилиңизге талап кылынат жана аны орнотуудан чыгаруу мүмкүн эмес."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Колдонмо айрым колдонуучулар же профилдерге керек."</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Бул колдонмо профилиңизге керек жана аны чыгарып салуу мүмкүн эмес."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Бул колдонмо түзмөк администраторуңузга керектелет жана орнотуудан чыгаруу мүмкүн эмес."</string>
- <string name="manage_device_administrators" msgid="891392489300312370">"Түзмөктүн администраторлорун башкаруу"</string>
+ <string name="manage_device_administrators" msgid="891392489300312370">"Түзмөктүн башкаргычтарын тескөө"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Колдонуучуларды башкаруу"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> колдонмосун чечип салуу мүмкүн эмес."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Талдоо катасы"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Таңгакты окууда маселе пайда болду."</string>
<string name="newPerms" msgid="6039428254474104210">"Жаңы"</string>
<string name="allPerms" msgid="1024385515840703981">"Бардыгы"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Жетүү уруксаттары"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Бул жаңыртуу жаңы уруксаттарды талап кылбайт."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Кийинки уруксаттарды берейин дегениңиз аныкпы? Ал кийинкилерге жетки алат:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Уруксат берүү"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Жок"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Баш тартуу"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g> ичинен <xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"<xliff:g id="APP_NAME">%1$s</xliff:g> колдонмосуна <xliff:g id="ACTION">%2$s</xliff:g> уруксат берилсинби?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; колдонмосуна <xliff:g id="ACTION">%2$s</xliff:g> уруксат берилсинби?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Уруксат берүү"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Колдонмолор"</string>
<string name="app_permissions" msgid="3146758905824597178">"Колдонмо уруксаттары"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Экинчи сураба"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Экинчи суралбасын"</string>
<string name="no_permissions" msgid="3210542466245591574">"Уруксаттар жок"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Кошумча уруксаттар"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -104,7 +101,7 @@
<string name="default_permission_description" msgid="4992892207044156668">"белгисиз аракеттерди жасайт"</string>
<string name="app_permissions_group_summary" msgid="4787239772223699263">"<xliff:g id="COUNT_1">%2$d</xliff:g> ичинен <xliff:g id="COUNT_0">%1$d</xliff:g> колдонмого уруксат берилген"</string>
<string name="menu_show_system" msgid="6773743421743728921">"Тутумду көрсөтүү"</string>
- <string name="menu_hide_system" msgid="7595471742649432977">"Тутумду жашыруу"</string>
+ <string name="menu_hide_system" msgid="7595471742649432977">"Тутумдагы процесстерди жашыруу"</string>
<string name="permission_title" msgid="6495415273398916381">"<xliff:g id="PERMISSION">%1$s</xliff:g> уруксат"</string>
<string name="no_apps" msgid="1965493419005012569">"Эч бир колдонмо жок"</string>
<string name="location_settings" msgid="1774875730854491297">"Жайгашкан жерди анктоо жөндлрү"</string>
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Бул уруксаттын жөндөөсүн өзгөртүү үчүн, адегенде Жөндөөлөр &gt; Колдонмолордон экрандын кабатталышын өчүрүңүз"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Жөндөөлөрдү ачуу"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Тагынма"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Орнотуу/чыгарып салуу аракеттери Тагынмада колдоого алынбайт."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Орнотуу/чыгарып салуу аракеттери Android Wear\'де колдоого алынбайт."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> жаңыртылды. <xliff:g id="APP_NAME_1">%1$s</xliff:g> төмөнкү аракеттерге уруксат берилсинби?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"<xliff:g id="APP_NAME">%1$s</xliff:g> колдонмосу үчүн уруксаттарды тандаңыз"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> жаңыртылды. Ал үчүн уруксаттарды тандаңыз."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Жокко чыгаруу"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Улантуу"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Жаңы уруксаттар"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Учурдагы уруксаттар"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Күтө туруңуз…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Белгисиз"</string>
</resources>
diff --git a/res/values-lo-rLA-television/strings.xml b/res/values-lo-rLA-television/strings.xml
index a49a8f2b..a6f4e49c 100644
--- a/res/values-lo-rLA-television/strings.xml
+++ b/res/values-lo-rLA-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"ທ່ານສາມາດປ່ຽນແປງສິ່ງນີ້ໃນພາຍຫຼັງໄດ້ໃນການຕັ້ງຄ່າ &gt; ແອັບ"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"ສະ​ແດງ​ແອັບ​ລະ​ບົບ"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"ການອະນຸຍາດແອັບ"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"ການອະນຸຍາດແອັບ"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> ການອະນຸຍາດ"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"ການອະນຸຍາດເພີ່ມເຕີມ"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> ການອະນຸຍາດ"</string>
</resources>
diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo-rLA/strings.xml
index 7c67c2ce..0c96c284 100644
--- a/res/values-lo-rLA/strings.xml
+++ b/res/values-lo-rLA/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"ທ່ານຕ້ອງການຕິດຕັ້ງອັບເດດໃສ່ແອັບພລິເຄຊັນນີ້ບໍ່? ຂໍ້ມູນຂອງທ່ານທີ່ມີຢູ່ກ່ອນແລ້ວຈະຍັງຄົງຢູ່ຄືເກົ່າ. ມັນບໍ່ຕ້ອງການສິດເຂົ້າເຖິງພິເສດໃດໆ."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"ທ່ານຕ້ອງການຕິດຕັ້ງອັບເດດໃສ່ແອັບພລິເຄຊັນທີ່ມີມານຳນີ້ບໍ່? ຂໍ້ມູນຂອງທ່ານທີ່ມີຢູ່ກ່ອນແລ້ວຈະຍັງຄົງຢູ່ຄືເກົ່າ. ມັນບໍ່ຕ້ອງການສິດເຂົ້າເຖິງພິເສດໃດໆເລີຍ."</string>
<string name="install_failed" msgid="6579998651498970899">"ບໍ່ໄດ້ຕິດຕັ້ງແອັບຯເທື່ອ."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"ແພັກ​ເກດ​ຖືກບ​ລັອກ​ບໍ່​ໃຫ້​ໄດ້​ຮັບ​ການ​ຕິດ​ຕັ້ງ"</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"ແພັກ​ເກດ​ມີ​ການ​ຂັດ​ກັນ​ກັບ​ແພັ​ກ​ເກດ​ທີ່​ມີ​ຢູ່​ແລ້ວ​ດ້ວຍ​ຊື່​ດຽວ​ກັນ."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"ແອັບຯນີ້ບໍ່ສາມາດໃຊ້ໄດ້ກັບແທັບເລັດຂອງທ່ານ."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"ແອັບ​ນີ້​ບໍ່​ເຂົ້າ​ກັນ​ໄດ້​ກັບໂທລະພາບຂອງ​ທ່ານ."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"ແອັບຯນີ້ບໍ່ສາມາດໃຊ້ກັບໂທລະສັບຂອງທ່ານໄດ້."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"ແພັກເກດມີຄວາມເສຍຫາຍ."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"ມີແພັກເກດທີ່ໃຊ້ຊື່ດຽວກັນ ແລະລາຍເຊັນທີ່ຂັດແຍ່ງກັນຕິດຕັ້ງຢູ່ກ່ອນແລ້ວ."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"ແພັກເກດເຮັດວຽກໄດ້ສະເພາະ Android ເວີຊັນໃໝ່ກວ່າເທົ່ານັ້ນ."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"ແອັບຯນີ້ບໍ່ສາມາດໃຊ້ໄດ້ກັບແທັບເລັດຂອງທ່ານ."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"ແອັບ​ນີ້​ບໍ່​ເຂົ້າ​ກັນ​ໄດ້​ກັບໂທລະພາບຂອງ​ທ່ານ."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"ແອັບຯນີ້ບໍ່ສາມາດໃຊ້ກັບໂທລະສັບຂອງທ່ານໄດ້."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"ແພັກເກດທີ່​ກໍາ​ນົດ​​ໄດ້ຖືກ​ລຶບ​ກ່ອນ​ການ​ຕິດ​ຕັ້ງຈະສຳເລັດ."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"ແພັກເກດບໍ່ຜ່ານການຢືນຢັນ ແລະບໍ່ສາມາດຕິດຕັ້ງໄດ້."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"ເວລາໝົດໃນຂະນະທີ່ກຳລັງຢືນຢັນແພັກເກັດນີ້. ກະລຸນາລອງຕິດຕັ້ງມັນໃໝ່ອີກຄັ້ງພາຍຫຼັງ."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"ບໍ່ສາມາດຕິດຕັ້ງ <xliff:g id="APP_NAME">%1$s</xliff:g> ໃສ່ແທັບເລັດຂອງທ່ານໄດ້."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> ບໍ່​ສາ​ມາດ​ຕິດ​ຕັ້ງ​ໃສ່ໂທລະພາບຂອງ​ທ່ານ​ໄດ້."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"ບໍ່​ສາ​ມາດ​ຕິດ​ຕັ້ງ​ <xliff:g id="APP_NAME">%1$s</xliff:g> ໃນໂທລະສັບຂອງທ່ານໄດ້."</string>
<string name="launch" msgid="4826921505917605463">"ເປີດ"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"ການຕິດຕັ້ງຖືກບລັອກໄວ້"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"ເພື່ອຄວາມປອດໄພ, ແທັບເລັດຂອງທ່ານ ຖືກຕັ້ງໃຫ້ບລັອກການຕິດຕັ້ງແອັບພລິເຄຊັນທີ່ມາຈາກແຫຼ່ງບໍ່ຮູ້ຈັກ."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"ເພື່ອ​ຄວາມ​ປອດ​ໄພ, ໂທລະພາບຂອງ​ທ່ານ​ຖືກ​ຕັ້ງ​ໃຫ້​ບ​ລັອກ​ການ​ຕິດ​ຕັ້ງ​ແອັບ​ທີ່​ໄດ້​ຮັບ​ມາ​ຈາກ​ແຫຼ່ງ​ທີ່​ບໍ່​ຮູ້​ຈັກ."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"ເພື່ອຄວາມປອດໄພ, ໂທລະສັບຂອງທ່ານຖືກຕັ້ງໃຫ້ບລັອກການຕິດຕັ້ງແອັບພລິເຄຊັນ ທີ່ມາຈາກແຫຼ່ງບໍ່ຮູ້ຈັກ."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"​ຜູ່​ເບິ່ງ​ແຍງ​ລະ​ບົບ​ຂອງ​ທ່ານ​ບໍ່​ອາ​ນຸ​ຍາດ​ໃຫ້​ຕິດ​ຕັ້ງ​ແອັບຯ​ທີ່​ໄດ້​ມາ​ຈາກ​ແຫຼ່ງ​ທີ່​ບໍ່​ຮູ້​ຈັກ."</string>
<string name="ok" msgid="3468756155452870475">"ຕົກລົງ"</string>
<string name="settings" msgid="6743583734099755409">"ການຕັ້ງຄ່າ"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"ແຫຼ່ງຂໍ້ມູນໃໝ່ສຳລັບແອັບຯ"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> ຕ້ອງການຕິດຕັ້ງແອັບຯອື່ນ.\n\nອະນຸຍາດໃນຕອນນີ້ ແລະໃນອະນາຄົດບໍ່?"</string>
<string name="manage_applications" msgid="4033876279091996596">"ຈັດການແອັບຯ"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"ແທນທີ່ແອັບຯບໍ່?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"ແອັບຯທີ່ທ່ານກຳລັງຕິດຕັ້ງຈະທັບແອັບຯອື່ນ.\n\nຂໍ້ມູນຜູ່ໃຊ້ທັງໝົດກ່ອນໜ້ານີ້ຂອງທ່ານຈະຖືກບັນທຶໄວ້."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"ທ່ານຕ້ອງການຖອນການຕິດຕັ້ງແອັບຯນີ້ບໍ່?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"ທ່ານຕ້ອງການທີ່ຈະຖອນການຕິດຕັ້ງແອັບຯນີ້ ສຳລັງຜູ່ໃຊ້"<b>"ທຸກຄົນ"</b>"ບໍ່? ແອັບພລິເຄຊັນ ແລະຂໍ້ມູນຂອງມັນຈະຖືກລຶບອອກ ຈາກຜູ່ໃຊ້"<b>"ທັງໝົດ"</b>"ໃນອຸປະກອນນີ້."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"ທ່ານ​ຕ້ອງ​ການ​ຖອນ​ການ​ຕິດ​ຕັ້ງ​ແອັບຯ​ນີ້​ສຳ​ລັບ​ຜູ່​ໃຊ້ <xliff:g id="USERNAME">%1$s</xliff:g> ບໍ່?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"ທ່ານ​ຕ້ອງ​ການ​ແທນທີ່ແອັບຯນີ້​ດ້ວຍເວີຊັນທີ່ມາກັບ​ໂຮງ​ງານບໍ່​?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"ແທນທີ່ແອັບນີ້ດ້ວຍເວີຊັນທີ່ມາຈາກໂຮງງານບໍ? ຂໍ້ມູນທັງໝົດຈະຖືກລຶບອອກ."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"ແທນທີ່ແອັບນີ້ດ້ວຍເວີຊັນທີ່ມາຈາກໂຮງງານບໍ? ຂໍ້ມູນທັງໝົດຈະຖືກລຶບອອກ ເຊິ່ງມີຜົນກັບຜູ້ໃຊ້ອຸປະກອນນີ້ທຸກຄົນ ຮວມທັງຄົນທີ່ມີໂປຣໄຟລ໌ບ່ອນເຮັດວຽກນຳ."</string>
<string name="uninstalling" msgid="5556217435895938250">"ກຳລັງຖອນການຕິດຕັ້ງ..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"ຖອນການຕິດຕັ້ງສຳເລັດແລ້ວ."</string>
<string name="uninstall_failed" msgid="631122574306299512">"ການຖອນການຕິດຕັ້ງບໍ່ສຳເລັດ."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"ບໍ່ສາມາດຖອດການຕິດຕັ້ງໄດ້ ເນື່ອງຈາກແພັກເກດນີ້ເປັນຂອງຜູ່ເບິ່ງແຍງລະບົບອຸປະກອນ."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"ບໍ່​ສາ​ມາດ​ຖອນ​ຕິດ​ຕັ້ງ​ໄດ້ ເພາະ​ວ່າ​ແພັກ​ເກດ​ນີ້​ແມ່ນ​ຜູ້​ຄວບ​ຄຸມ​ອຸ​ປະ​ກອນ​ທີ່​ເປີດ​ຢູ່​ສຳ​ລັບ​ຜູ້​ໃຊ້ <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"ແອັບຯ​ນີ້​ຕ້ອງ​ໃຊ້​ໂດຍ​ໂປຣ​ໄຟລ໌ວຽກຂອງ​ທ່ານ ​ແລະ​ບໍ່​ສາ​ມາດ​ຖອນ​ການ​ຕິດ​ຕັ້ງ​ໄດ້."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"ແອັບນີ້ຈຳເປັນສຳລັບບາງຜູ້ໃຊ້ ຫຼື ບາງໂປຣໄຟລ໌ ແລະ ຖືກຖອນການຕິດຕັ້ງສຳລັບຄົນອື່ນແລ້ວ"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"ແອັບນີ້ຈຳເປັນຕ້ອງໃຊ້ກັບໂປຣໄຟລ໌ຂອງທ່ານ ແລະ ບໍ່ສາມາດຖອນການຕິດຕັ້ງໄດ້."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"​ແອັບຯ​ນີ້​ຕ້ອງ​ໃຊ້​ໂດຍ​ຜູ່​ເບິ່ງ​ແຍງ​ລະ​ບົບ​ຂອງ​ທ່ານ ແລະ​ບໍ່​ສາ​ມາດ​ຖອນ​ການ​ຕິດ​ຕັ້ງ​ໄດ້."</string>
- <string name="manage_device_administrators" msgid="891392489300312370">"ຈັດການຜູ່ເບິ່ງແຍງລະບົບອຸປະກອນ"</string>
+ <string name="manage_device_administrators" msgid="891392489300312370">"ຈັດການຜູ້ເບິ່ງແຍງລະບົບອຸປະກອນ"</string>
+ <string name="manage_users" msgid="3125018886835668847">"ຈັດການຜູ້ໃຊ້"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> ບໍ່ສາມາດຖອນອອກໄດ້."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"ການວິເຄາະຜິດພາດ"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"ເກີດບັນຫາໃນການວິເຄາະແພັກເກດ."</string>
<string name="newPerms" msgid="6039428254474104210">"ໃໝ່"</string>
<string name="allPerms" msgid="1024385515840703981">"ທັງໝົດ"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"ການເຂົ້າເຖິງອຸປະກອນ"</string>
<string name="no_new_perms" msgid="6657813692169565975">"ອັບເດດນີ້ບໍ່ຕ້ອງການການອະນຸຍາດໃໝ່."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"ທ່ານຕ້ອງການອະນຸມັດສິ່ງຕໍ່ໄປນີ້ຫຼືບໍ່? ມັນຈະສາມາດເຂົ້າເຖິງ:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"ອະນຸຍາດ"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"ປະຕິເສດ"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"ຢືນຢັນປະຕິເສດ"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> ໃນ <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"ອະ​ນຸ​ຍາດ​ໃຫ້ <xliff:g id="APP_NAME">%1$s</xliff:g>ເພື່ອ​ <xliff:g id="ACTION">%2$s</xliff:g> ບໍ?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"ອະນຸຍາດໃຫ້ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ສາມາດ <xliff:g id="ACTION">%2$s</xliff:g> ບໍ?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"ອະນຸຍາດ"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"ແອັບ"</string>
<string name="app_permissions" msgid="3146758905824597178">"ການ​ອະ​ນຸ​ຍາດ​ແອັບ"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"ຢ່າ​ຖາມ​ອີກ"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"ບໍ່ຕ້ອງຖາມອີກ"</string>
<string name="no_permissions" msgid="3210542466245591574">"​ບໍ່​ມີການ​ອະ​ນຸ​ຍາດ​"</string>
<string name="additional_permissions" msgid="6667573114240111763">"ການ​ອະ​ນຸ​ຍາດ​​ເພີ່ມ​ເຕີມ"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"ເພື່ອ​ປ່ຽນ​ແປງ​ການ​ຕັ້ງ​ຄ່າ​ການ​ອະ​ນຸ​ຍາດ​ນີ້, ກ່ອນ​ອື່ນ​ໝົດ​ທ່ານ​ຕ້ອງ​ປິດ​ການ​ວາງ​ຊ້ອນ​ໜ້າ​ຈໍ​ຈາກ​ແອັບ​ການ​ຕັ້ງ​ຄ່າ"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"ເປີດການຕັ້ງຄ່າ"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"ຕິດ​ຕັ້ງ/ຖອນ​ຕິດ​ຕັ້ງ​ການ​ກະ​ທຳ​ທີ່​ບໍ່​ຮອງ​ຮັບ​ຢູ່​ໃນ Wear."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"ຕິດຕັ້ງ/ຖອນຕິດຕັ້ງ ຄຳສັ່ງທີ່ບໍ່ຮອງຮັບຢູ່ໃນ Wear."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"ອັບເດດ <xliff:g id="APP_NAME_0">%1$s</xliff:g> ​​ແລ້ວ. ​ອະນຸຍາດ​ໃຫ້ <xliff:g id="APP_NAME_1">%1$s</xliff:g> ​ເຂົ້າ​ເຖິງ​ສິ່ງ​ຕໍ່​ໄປ​ນີ້​ບໍ?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"ເລືອກ​ສິ່ງ​ທີ່​ຈະ​ອະ​ນຸ​ຍາດ​ໃຫ້ <xliff:g id="APP_NAME">%1$s</xliff:g> ເຂົ້າ​ເຖິງ"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"ອັບເດດ <xliff:g id="APP_NAME">%1$s</xliff:g> ​​ແລ້ວ. ​ເລືອກ​ສິ່ງ​ທີ່​ຈະ​ອະນຸຍາດ​ໃຫ້​ແອັບຯ​ນີ້​ເຂົ້າ​ເຖິງ."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"​ຍົກ​ເລີກ"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"​ສືບ​ຕໍ່"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"ການ​ອະ​ນຸ​ຍາດ​ໃໝ່"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"ການ​ອະນຸຍາດ​ປັດຈຸ​ບັນ"</string>
+ <string name="message_staging" msgid="6151794817691100003">"ກຳລັງຮຽງແອັບ…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"ບໍ່ຮູ້ຈັກ"</string>
</resources>
diff --git a/res/values-lt-television/strings.xml b/res/values-lt-television/strings.xml
index a1c02a16..dee6de74 100644
--- a/res/values-lt-television/strings.xml
+++ b/res/values-lt-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Tai vėliau galėsite pakeisti skiltyje „Nustatymai &gt; Programos“"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Rodyti sistemos programas"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Programos leidimai"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Programos leidimai"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> leidimai"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Papildomi leidimai"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> leidimai"</string>
</resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 2ce9c3a2..0ec39799 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Ar norite įdiegti šios esamos programos naujinį? Neprarasite esamų duomenų. Nereikia jokios specialios prieigos."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Ar norite įdiegti šios integruotos programos naujinį? Neprarasite esamų duomenų. Nereikia jokios specialios prieigos."</string>
<string name="install_failed" msgid="6579998651498970899">"Programa neįdiegta."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Paketas užblokuotas ir negali būti įdiegtas."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Paketas nesuderinamas su esamu paketu, kurio pavadinimas toks pats."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Ši programa nesuderinama su jūsų planšetiniu kompiuteriu."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Ši programa nesuderinama su jūsų TV."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Ši programa nesuderinama su jūsų telefonu."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Paketas sugadintas."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Jau įdiegtas esamas paketas tuo pačiu pavadinimu su prieštaringu parašu."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Paketas veikia tik naujesnėse „Android“ versijose."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Ši programa nesuderinama su jūsų planšetiniu kompiuteriu."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Ši programa nesuderinama su jūsų TV."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Ši programa nesuderinama su jūsų telefonu."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Nurodytas paketas ištrintas prieš baigiant diegti."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Patikrinus nustatyta, kad paketas netinkamas, todėl jo įdiegti negalima."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Bandant patikrinti šį paketą baigėsi skirtasis laikas. Vėliau bandykite jį įdiegti dar kartą."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"Jūsų planšetiniame kompiuteryje nepavyko įdiegti „<xliff:g id="APP_NAME">%1$s</xliff:g>“."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"Nepavyko programos „<xliff:g id="APP_NAME">%1$s</xliff:g>“ įdiegti jūsų TV."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"Jūsų telefone nepavyko įdiegti „<xliff:g id="APP_NAME">%1$s</xliff:g>“."</string>
<string name="launch" msgid="4826921505917605463">"Atidaryti"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Diegimas užblokuotas"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Saugumo sumetimais planš. komp. nustatytas progr., įsigytų iš nežinomų šaltinių, diegimo blokavimas."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Saugos sumetimais TV blokuoja iš nežinomų šaltinių gautas programas."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Saugumo sumetimais telefone nustatytas programų, įsigytų iš nežinomų šaltinių, diegimo blokavimas."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Jūsų administratorius neleidžia diegti programų, gautų iš nežinomų šaltinių."</string>
<string name="ok" msgid="3468756155452870475">"Gerai"</string>
<string name="settings" msgid="6743583734099755409">"Nustatymai"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Naujas programų šaltinis"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> nori įdiegti kitas programas.\n\nAr leisti tai dabar ir ateityje?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Tvarkyti programas"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Pakeisti programą?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Diegiama programa pakeis kitą programą.\n\nBus išsaugoti visi ankstesni naudotojo duomenys."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Ar norite pašalinti šią programą?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Ar norite pašalinti šią programą "<b>"visiems"</b>" naudotojams? Programa ir jos duomenys bus pašalinti iš "<b>"visų"</b>" naudotojų įrenginyje."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Ar norite pašalinti šią naudotojo <xliff:g id="USERNAME">%1$s</xliff:g> programą?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Ar norite šią programą pakeisti gamykline versija?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Pakeisti šios programos versiją į gamyklinę? Visi duomenys bus pašalinti."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Pakeisti šios programos versiją į gamyklinę? Visi duomenys bus pašalinti. Tai paveiks visus šio įrenginio naudotojus, įskaitant turinčius darbo profilius."</string>
<string name="uninstalling" msgid="5556217435895938250">"Pašalinama..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Pašalinimas baigtas."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Nepavyko pašalinti."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Negalima pašalinti, nes šis paketas yra aktyvus įrenginio administratorius."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Nepavyksta pašalinti, nes šis paketas yra aktyvus naudotojo <xliff:g id="USERNAME">%1$s</xliff:g> įreng. administr."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Šios programos reikia darbo profiliui; jos negalima pašalinti."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Ši programa reikalinga kai kuriems naudotojams ar kai kuriuose profiliuose ir buvo pašalinta kitur"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Ši programa reikalinga jūsų profilyje ir jos negalima pašalinti."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Ši programa reikalinga jūsų įrenginio administratoriui ir jos negalima pašalinti."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Valdyti įrenginio administratorius"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Valdyti naudotojus"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"Nepavyko pašalinti „<xliff:g id="APP_NAME">%1$s</xliff:g>“."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Analizės klaida"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Analizuojant paketą iškilo problema."</string>
<string name="newPerms" msgid="6039428254474104210">"Naujiena"</string>
<string name="allPerms" msgid="1024385515840703981">"Visi"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Prieiga prie įreng."</string>
<string name="no_new_perms" msgid="6657813692169565975">"Šiam naujiniui nereikalingi nauji leidimai."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Ar norite suteikti šiuos leidimus? Bus suteikta prieiga prie:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Leisti"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Atmesti"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Vis tiek atmesti"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> iš <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Leisti „<xliff:g id="APP_NAME">%1$s</xliff:g>“ <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Leisti &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Leisti"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Programos"</string>
<string name="app_permissions" msgid="3146758905824597178">"Programos leidimai"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Daugiau niekada neklausti"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Daugiau neklausti"</string>
<string name="no_permissions" msgid="3210542466245591574">"Nėra jokių leidimų"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Papildomi leidimai"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -121,5 +118,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Jei norite pakeisti šį leidimo nustatymą, pirmiausia turite išjungti ekrano perdangą skiltyje „Nustatymai &gt; Programos“"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Atidaryti nustatymus"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Diegimo / pašalinimo veiksmai nepalaikomi sistemoje „Wear“."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Diegimo / pašalinimo veiksmai nepalaikomi sistemoje „Wear“."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"Programa „<xliff:g id="APP_NAME_0">%1$s</xliff:g>“ buvo atnaujinta. Leisti programai „<xliff:g id="APP_NAME_1">%1$s</xliff:g>“ pasiekti toliau nurodytus dalykus?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Pasirinkite, ką norite leisti programai „<xliff:g id="APP_NAME">%1$s</xliff:g>“ pasiekti"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"Programa „<xliff:g id="APP_NAME">%1$s</xliff:g>“ buvo atnaujinta. Pasirinkite, ką norite leisti šiai programai pasiekti."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Atšaukti"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Tęsti"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Nauji leidimai"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Dabartiniai leidimai"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Programa pateikiama etapais…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Nežinoma"</string>
</resources>
diff --git a/res/values-lv-television/strings.xml b/res/values-lv-television/strings.xml
index d42eebe4..f01dfd28 100644
--- a/res/values-lv-television/strings.xml
+++ b/res/values-lv-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Vēlāk varat veikt izmaiņas sadaļā Iestatījumi &gt; Lietotnes."</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>. no <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Rādīt sistēmas lietotnes"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Lietotņu atļaujas"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Lietotņu atļaujas"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Lietotnes <xliff:g id="PERMISSION">%1$s</xliff:g> atļaujas"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Papildu atļaujas"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Lietotnes <xliff:g id="PERMISSION">%1$s</xliff:g> atļaujas"</string>
</resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 718c5a5f..bcd517a9 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Vai vēlaties instalēt šīs lietojumprogrammas atjauninājumu? Esošie dati netiks zaudēti. Tam nav nepieciešama īpaša piekļuves atļauja."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Vai vēlaties instalēt šīs iebūvētās lietojumprogrammas atjauninājumu? Esošie dati netiks zaudēti. Tam nav nepieciešama īpaša piekļuves atļauja."</string>
<string name="install_failed" msgid="6579998651498970899">"Lietotne nav instalēta."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Pakotnes instalēšana tika bloķēta."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Pakotne ir konfliktā ar esošo pakotni, jo to nosaukumi ir vienādi."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Šī lietotne nav saderīga ar jūsu planšetdatoru."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Šī lietotne nav saderīga ar jūsu televizoru."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Šī lietotne nav saderīga ar jūsu tālruni."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Šķiet, ka pakotne ir bojāta."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Esoša pakotne ar tādu pašu nosaukumu un konfliktējošu parakstu jau ir instalēta."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Šī pakotne darbojas tikai jaunākās operētājsistēmas Android versijās."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Šī lietotne nav saderīga ar jūsu planšetdatoru."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Šī lietotne nav saderīga ar jūsu televizoru."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Šī lietotne nav saderīga ar jūsu tālruni."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Norādītā pakotne tika izdzēsta pirms instalēšanas pabeigšanas."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Pakotnes verificēšana neizdevās. Pakotni nevar instalēt."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Mēģinot verificēt šo pakotni, iestājās noildze. Vēlāk mēģiniet to instalēt vēlreiz."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"Lietotni <xliff:g id="APP_NAME">%1$s</xliff:g> nevarēja instalēt planšetdatorā."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"Lietotni <xliff:g id="APP_NAME">%1$s</xliff:g> nevarēja instalēt jūsu televizorā."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"Lietotni <xliff:g id="APP_NAME">%1$s</xliff:g> nevarēja instalēt tālrunī."</string>
<string name="launch" msgid="4826921505917605463">"Atvērt"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Instalēšana ir bloķēta"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Drošības dēļ planšetdatorā tiek bloķēta to lietotņu instalēšana, kas iegūtas no nezināmiem avotiem."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Drošības nolūkos jūsu televizorā tiek bloķēta no nezināmiem avotiem iegūtu lietotņu instalēšana."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Drošības dēļ tālrunī tiek bloķēta to lietotņu instalēšana, kas iegūtas no nezināmiem avotiem."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Jūsu administrators neļauj instalēt lietotnes, kas iegūtas no nezināmiem avotiem."</string>
<string name="ok" msgid="3468756155452870475">"Labi"</string>
<string name="settings" msgid="6743583734099755409">"Iestatījumi"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Jauns lietotņu avots"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> vēlas instalēt citas lietotnes.\n\nVai atļaut to darīt tagad un arī turpmāk?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Pārvaldīt lietotnes"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Vai aizstāt lietotni?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Ar instalējamo lietotni tiks aizstāta cita lietotne.\n\nVisi jūsu iepriekšējie lietotāja dati tiks saglabāti."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Vai vēlaties atinstalēt šo lietotni?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Vai vēlaties atinstalēt šo lietotni "<b>"visiem"</b>" lietotājiem? Šī lietojumprogramma un tās dati tiks noņemti no "<b>"visiem"</b>" ierīces lietotāju kontiem."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Vai vēlaties atinstalēt šo lietotni lietotājam <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Vai vēlaties aizstāt šo lietotni ar tās rūpnīcas versiju?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Vai aizstāt šo lietotni ar rūpnīcas versiju? Visi dati tiks noņemti."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Vai aizstāt šo lietotni ar rūpnīcas versiju? Visi dati tiks noņemti. Tas ietekmēs visu šīs ierīces lietotāju (arī to lietotāju, kuriem ir darba profili) datus."</string>
<string name="uninstalling" msgid="5556217435895938250">"Notiek atinstalēšana..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Atinstalēšana ir pabeigta."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Atinstalēšana neizdevās."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Nevar atinstalēt, jo ar šo pakotni tiek veikta ierīces administrēšana."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Nevar atinstalēt, jo pakotne ietver aktīvu ierīces administratoru lietotājam <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Šī lietotne ir nepieciešama jūsu darba profilam, tāpēc to nevar atinstalēt."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Šī lietotne ir nepieciešama dažiem lietotājiem vai profiliem un tika atinstalēta citiem"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Šī lietotne ir nepieciešama jūsu profilam, tāpēc to nevar atinstalēt."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Ierīces administrators ir noteicis, ka lietotne ir obligāta un to nevar atinstalēt."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Pārvaldīt ierīces administratorus"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Pārvaldīt lietotājus"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"Lietotni <xliff:g id="APP_NAME">%1$s</xliff:g> nevarēja atinstalēt."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Parsēšanas kļūda"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Parsējot pakotni, radās problēma."</string>
<string name="newPerms" msgid="6039428254474104210">"Jauna!"</string>
<string name="allPerms" msgid="1024385515840703981">"Visas"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Piekļuve ierīcei"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Šim atjauninājumam nav nepieciešamas jaunas atļaujas."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Vai vēlaties piešķirt tālāk norādītās atļaujas? Tiks piešķirta šāda piekļuve:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Atļaut"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Neatļaut"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Tomēr noraidīt"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>. no <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Vai atļaut lietotnei <xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Vai atļaut lietotnei &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; veikt šādu darbību: <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Atļaut"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Lietotnes"</string>
<string name="app_permissions" msgid="3146758905824597178">"Lietotnes atļaujas"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Vairs nejautāt"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Turpmāk vairs nejautāt"</string>
<string name="no_permissions" msgid="3210542466245591574">"Nav atļauju"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Papildu atļaujas"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -120,5 +117,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Lai mainītu šo atļaujas iestatījumu, vispirms sadaļā “Iestatījumi un lietotnes” izslēdziet ekrāna pārklājumu."</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Atvērt iestatījumus"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Wear ierīcē netiek atbalstīta instalēšana/atinstalēšana."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Wear ierīcē netiek atbalstīta instalēšana/atinstalēšana"</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"Lietotne <xliff:g id="APP_NAME_0">%1$s</xliff:g> ir atjaunināta. Vai atļaut lietotnei <xliff:g id="APP_NAME_1">%1$s</xliff:g> piekļūt tālāk norādītajiem vienumiem?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Izvēlieties, kādas piekļuves atļaujas piešķirt lietotnei <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"Lietotne <xliff:g id="APP_NAME">%1$s</xliff:g> ir atjaunināta. Izvēlieties, kādas piekļuves atļaujas tai piešķirt."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Atcelt"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Turpināt"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Jaunas atļaujas"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Pašreizējās atļaujas"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Lietotne tiek izstādīta…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Nezināms"</string>
</resources>
diff --git a/res/values-mk-rMK-television/strings.xml b/res/values-mk-rMK-television/strings.xml
index 74425713..bb3ea921 100644
--- a/res/values-mk-rMK-television/strings.xml
+++ b/res/values-mk-rMK-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Може да го промените ова подоцна во Поставки &gt; Апликации"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Прикажи ги системските апликации"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Дозволи за апликацијата"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Дозволи за апликацијата"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Дозволи за <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Дополнителни дозволи"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Дозволи за <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-mk-rMK/strings.xml b/res/values-mk-rMK/strings.xml
index c7cac3f8..82dafb27 100644
--- a/res/values-mk-rMK/strings.xml
+++ b/res/values-mk-rMK/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Дали сакате да инсталирате надградба на оваа постоечка апликација? Вашите постоечки податоци нема да се изгубат. Таа не бара никаков посебен пристап."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Дали сакате да инсталирате надградба на оваа вградена апликација? Вашите постоечки податоци нема да се изгубат. Таа не бара никаков посебен пристап."</string>
<string name="install_failed" msgid="6579998651498970899">"Апликацијата не е инсталирана."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Инсталирањето на пакетот е блокирано."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Пакетот се судира со веќе постоечки пакет со исто име."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Оваа апликација не е компатибилна со вашиот таблет."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Оваа апликација не е компатибилна со вашиот телевизор."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Оваа апликација не е компатибилна со вашиот телефон."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Се чини дека пакетот е оштетен."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Веќе има инсталирано пакет со истото име со противречен потпис."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Пакетот работи само на понови верзии на Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Оваа апликација не е компатибилна со вашиот таблет."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Оваа апликација не е компатибилна со вашиот телевизор."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Оваа апликација не е компатибилна со вашиот телефон."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Одредениот пакет беше избришан пред да заврши инсталација."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Пакетот не ја помина верификацијата и не може да се инсталира."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Истече времето при обид да се провери овој пакет. Обидете се да го инсталирате повторно подоцна."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> не можеше да се инсталира на вашиот таблет."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> не може да се инсталира на вашиот телевизор."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g> не можеше да се инсталира на вашиот телефон."</string>
<string name="launch" msgid="4826921505917605463">"Отвори"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Инсталирањето е блокирано"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"За безбедност, вашиот таблет е подесен да блокира инсталирање апликации добиени од непознати извори."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"За безбедност, вашиот ТВ е поставен да блокира инсталирање апликации добиени од непознати извори."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"За безбедност, вашиот телефон е подесен да блокира инсталирање апликации добиени од непознати извори."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Вашиот администратор не дозволува инсталација на апликации добиени од непознати извори."</string>
<string name="ok" msgid="3468756155452870475">"Во ред"</string>
<string name="settings" msgid="6743583734099755409">"Поставки"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Нов извор за апликации"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> сака да инсталира други апликации.\n\nДозволи го ова сега и во иднина?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Управувај со апликации"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Замени апликација?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Апликацијата што ја инсталирате ќе замени друга апликација.\n\nСите ваши претходни податоци за корисникот ќе се зачуваат."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Дали сакате да ја деинсталирате оваа апликација?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Дали сакате да ја деинсталирате оваа апликација за "<b>"сите"</b>" корисници? Апликацијата и нејзините податоци ќе се отстранат од "<b>"сите"</b>" корисници на уредот."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Дали сакате да ја деинсталирате апликацијава за корисникот <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Дали сакате да ја замените оваа апликација со фабричката верзија?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Сакате да ја замените оваа апликација со фабричката верзија? Сите податоци ќе се отстранат."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Сакате да ја замените оваа апликација со фабричката верзија? Сите податоци ќе се отстранат. Тоа важи за сите корисници на овој уред, вклучувајќи ги и тие со работни профили."</string>
<string name="uninstalling" msgid="5556217435895938250">"Се деинсталира..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Деинсталирањето заврши."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Деинсталирањето е неуспешно."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Не може да се деинсталира зашто овој пакет е активен администратор на уред."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Не може да се деинсталира бидејќи пакетот е активен администратор на уред за корисникот <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Оваа апликација е потребна за вашиот работен профил и не може да се деинсталира."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Апликацијата е неопходна за некои корисници или профили, а за другите е деинсталирана"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Апликацијата е потребна за вашиот профил и не може да се деинсталира."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Апликацијата ја бара администраторот на вашиот уред и не може да се деинсталира."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Управувај со администратори на уредот"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Управувај со корисници"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> не може да се деинсталира."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Грешка при анализа"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Настана проблем при разложување на пакетот."</string>
<string name="newPerms" msgid="6039428254474104210">"Ново"</string>
<string name="allPerms" msgid="1024385515840703981">"Сè"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Пристап кон уредот"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Ова ажурирање не бара нови дозволи."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Дали сакате да ги доделите следниве дозволи? Тоа ќе овозможи пристап кон:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Овозможи"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Одбиј"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Сепак одбиј"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> од <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Дозволете <xliff:g id="APP_NAME">%1$s</xliff:g> да <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Дозволете &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; да <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Овозможи"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Апликации"</string>
<string name="app_permissions" msgid="3146758905824597178">"Дозволи за апликацијата"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Никогаш не прашувај повторно"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Не прашувај повторно"</string>
<string name="no_permissions" msgid="3210542466245591574">"Нема дозволи"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Дополнителни дозволи"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"За да ја измените оваа поставка за дозвола, прво мора да го исклучите преклопувањето на екранот од Поставки &gt; Апликации"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Отвори поставки"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Дејствата инсталирај/деинсталирај не се поддржани на Wear."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Дејствата инсталирај/деинсталирај не се поддржани на Wear."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> е ажурирана. Овозможете ѝ на <xliff:g id="APP_NAME_1">%1$s</xliff:g> пристап до следново?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Изберете што да ѝ се овозможи на <xliff:g id="APP_NAME">%1$s</xliff:g> за пристап"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> е ажурирана. Изберете што да ѝ се овозможи на оваа апликација за пристап."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Откажи"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Продолжи"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Нови дозволи"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Тековни дозволи"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Апликацијата се поставува…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Непознато"</string>
</resources>
diff --git a/res/values-ml-rIN-television/strings.xml b/res/values-ml-rIN-television/strings.xml
index 284fe16d..5ede01fe 100644
--- a/res/values-ml-rIN-television/strings.xml
+++ b/res/values-ml-rIN-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"പിന്നീട് നിങ്ങൾക്കിത് ക്രമീകരണവും ആപ്സും എന്നതിൽ മാറ്റാനാകും"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"സിസ്റ്റം ആപ്‌സ് കാണിക്കുക"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"ആപ്പ് അനുമതികൾ"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"ആപ്പ് അനുമതികൾ"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> അനുമതികൾ"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"അധിക അനുമതികൾ"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> അനുമതികൾ"</string>
</resources>
diff --git a/res/values-ml-rIN/strings.xml b/res/values-ml-rIN/strings.xml
index 7436447b..74e4e92a 100644
--- a/res/values-ml-rIN/strings.xml
+++ b/res/values-ml-rIN/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"നിലവിലുള്ള ഈ അപ്ലിക്കേഷന് ഒരു അപ്‌ഡേറ്റ് ഇൻസ്റ്റാളുചെയ്യണോ? നിങ്ങളുടെ നിലവിലെ ഡാറ്റ നഷ്‌ടപ്പെടില്ല. ഇതിന് പ്രത്യേക ആക്‌സസ്സൊന്നും ആവശ്യമില്ല."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"ഈ അന്തർ നിർമ്മിത അപ്ലിക്കേഷന് ഒരു അപ്‌ഡേറ്റ് ഇൻസ്റ്റാളുചെയ്യണോ? നിങ്ങളുടെ നിലവിലെ ഡാറ്റ നഷ്‌ടപ്പെടില്ല. ഇതിന് പ്രത്യേക ആക്‌സസ്സൊന്നും ആവശ്യമില്ല."</string>
<string name="install_failed" msgid="6579998651498970899">"അപ്ലിക്കേഷൻ ഇൻസ്റ്റാളുചെയ്‌തില്ല."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"ഇൻസ്റ്റാൾ ചെയ്യുന്നതിൽ നിന്നും പാക്കേജിനെ തടഞ്ഞു."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"ഇതേ പേരിൽ നിലവിലുള്ള ഒരു പാക്കേജുമായി ഈ പാക്കേജിന് വൈരുദ്ധ്യമുണ്ട്."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"നിങ്ങളുടെ ടാബ്‌ലെറ്റിന് ഈ ആപ്പ് അനുയോജ്യമല്ല."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"നിങ്ങളുടെ ടിവിയ്‌ക്ക് ഈ ആപ്പ് അനുയോജ്യമല്ല."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"നിങ്ങളുടെ ഫോണിന് ഈ ആപ്പ് അനുയോജ്യമല്ല."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"പാക്കേജ് കേടായതായി തോന്നുന്നു."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"വൈരുദ്ധ്യമായ സിഗ്‌നേച്ചറുകളോടുകൂടിയ സമാന പേരിൽ നിലവിലുള്ള പാക്കേജ് ഇതിനകം ഇൻസ്റ്റാളുചെയ്‌തു."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Android-ന്റെ പുതിയ പതിപ്പുകളിൽ മാത്രമേ ഈ പാക്കേജ് പ്രവർത്തിക്കുകയുള്ളു."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"ഈ അപ്ലിക്കേഷൻ നിങ്ങളുടെ ടാബ്‌ലെറ്റിന് അനുയോജ്യമല്ല."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"ഈ അപ്ലിക്കേഷൻ നിങ്ങളുടെ ടിവിയ്‌ക്ക് അനുയോജ്യമല്ല."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"ഈ അപ്ലിക്കേഷൻ നിങ്ങളുടെ ഫോണിന് അനുയോജ്യമല്ല."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"ഇൻസ്റ്റാളുചെയ്യൽ പൂർത്തിയാക്കുന്നതിന് മുമ്പ് വ്യക്തമാക്കിയ പാക്കേജ് ഇല്ലാതാക്കിയിരിക്കാം."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"പാക്കേജ് പരിശോധിച്ചുറപ്പിക്കുന്നതിൽ പരാജയപ്പെട്ടതിനാൽ ഇൻസ്‌റ്റാൾ ചെയ്യാനാകില്ല."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"ഈ പാക്കേജ് പരിശോധിച്ചുറപ്പിക്കാൻ ശ്രമിക്കുമ്പോൾ കാലഹരണപ്പെടൽ സംഭവിച്ചു. പിന്നീട് ഇത് വീണ്ടും ഇൻസ്റ്റാളുചെയ്യുന്നത് പരീക്ഷിക്കുക."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"നിങ്ങളുടെ ടാബ്‌ലെറ്റിൽ <xliff:g id="APP_NAME">%1$s</xliff:g> ഇൻസ്റ്റാളുചെയ്യാനായില്ല."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g>, നിങ്ങളുടെ ടിവിയിൽ ഇൻസ്റ്റാളുചെയ്യാനായില്ല."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"നിങ്ങളുടെ ഫോണിൽ <xliff:g id="APP_NAME">%1$s</xliff:g> ഇൻസ്റ്റാളുചെയ്യാനായില്ല."</string>
<string name="launch" msgid="4826921505917605463">"തുറക്കുക"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"ഇൻസ്‌റ്റാൾ തടഞ്ഞു"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"സുരക്ഷയ്‌ക്കായി, നിങ്ങളുടെ ടാബ്‌ലെറ്റ് അജ്ഞാത ഉറവിടങ്ങളിൽ നിന്നും ലഭിക്കുന്ന അപ്ലിക്കേഷനുകൾ ഇൻസ്റ്റാളുചെയ്യുന്നത് തടയുന്നതിനായി സജ്ജീകരിച്ചിരിക്കുന്നു."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"സുരക്ഷയ്‌ക്കായി, അജ്ഞാത ഉറവിടങ്ങളിൽ നിന്നും ലഭിക്കുന്ന അപ്ലിക്കേഷനുകൾ ഇൻസ്റ്റാളുചെയ്യുന്നത് തടയാൻ നിങ്ങളുടെ ടിവി സജ്ജീകരിച്ചിരിക്കുന്നു."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"സുരക്ഷയ്‌ക്കായി, നിങ്ങളുടെ ഫോൺ അജ്ഞാത ഉറവിടങ്ങളിൽ നിന്നും ലഭിക്കുന്ന അപ്ലിക്കേഷനുകൾ ഇൻസ്റ്റാളുചെയ്യുന്നത് തടയുന്നതിനായി സജ്ജീകരിച്ചിരിക്കുന്നു."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"അജ്ഞാത ഉറവിടങ്ങളിൽ നിന്ന് നേടിയ അപ്ലിക്കേഷനുകൾ ഇൻസ്റ്റാളുചെയ്യാൻ നിങ്ങളുടെ അഡ്‌മിനിസ്‌ട്രേറ്റർ അനുവദിക്കില്ല."</string>
<string name="ok" msgid="3468756155452870475">"ശരി"</string>
- <string name="settings" msgid="6743583734099755409">"ക്രമീകരണങ്ങൾ"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"അപ്ലിക്കേഷനുകൾക്കായുള്ള പുതിയ ഉറവിടം"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g>, മറ്റ് അപ്ലിക്കേഷനുകൾ ഇൻസ്റ്റാളുചെയ്യാൻ താൽപ്പര്യപ്പെടുന്നു.\n\nഇത് ഇപ്പോഴത്തേക്കും ഭാവിയിലേക്കും അനുവദിക്കണോ?"</string>
+ <string name="settings" msgid="6743583734099755409">"ക്രമീകരണം"</string>
<string name="manage_applications" msgid="4033876279091996596">"അപ്ലിക്കേഷനുകൾ നിയന്ത്രിക്കുക"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"അപ്ലിക്കേഷൻ മാറ്റിസ്ഥാപിക്കണോ?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"നിങ്ങൾ ഇൻസ്റ്റാളുചെയ്യുന്ന അപ്ലിക്കേഷൻ മറ്റൊരു അപ്ലിക്കേഷനെ മാറ്റിസ്ഥാപിക്കും.\n\nനിങ്ങളുടെ മുൻ ഉപയോക്തൃ ഡാറ്റയെല്ലാം സംരക്ഷിക്കപ്പെടും."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"ഈ അപ്ലിക്കേഷൻ അൺഇൻസ്റ്റാളുചെയ്യണോ?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"ഈ അപ്ലിക്കേഷൻ "<b>"എല്ലാ"</b>" ഉപയോക്താക്കൾക്കുമായി അൺഇൻസ്റ്റാളുചെയ്യണോ? ഉപകരണത്തിലെ "<b>"എല്ലാ"</b>" ഉപയോക്താക്കളിൽ നിന്നും അപ്ലിക്കേഷനും അതിന്റെ ഡാറ്റയും നീക്കംചെയ്യപ്പെടും."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"<xliff:g id="USERNAME">%1$s</xliff:g> എന്ന ഉപയോക്താവിനായി ഈ അപ്ലിക്കേഷൻ അൺഇൻസ്റ്റാളുചെയ്യണോ?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"ഫാക്‌ടറി പതിപ്പ് ഉപയോഗിച്ച് ഈ അപ്ലിക്കേഷൻ മാറ്റിസ്ഥാപിക്കണോ?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"ഫാക്ടറി പതിപ്പ് ഉപയോഗിച്ച് ഈ ആപ്പ് മാറ്റിസ്ഥാപിക്കണോ? എല്ലാ ഡാറ്റയും നീക്കംചെയ്യപ്പെടും."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"ഫാക്ടറി പതിപ്പ് ഉപയോഗിച്ച് ഈ ആപ്പ് മാറ്റിസ്ഥാപിക്കണോ? എല്ലാ ഡാറ്റയും നീക്കംചെയ്യപ്പെടും. ഔദ്യോഗിക പ്രൊഫൈലുകൾ ഉള്ളവർ ഉൾപ്പെടെ, ഈ ഉപകരണത്തിന്റെ എല്ലാ ഉപയോക്താക്കളെയും ഇത് ബാധിക്കുന്നു."</string>
<string name="uninstalling" msgid="5556217435895938250">"അൺഇൻസ്‌‌റ്റാൾ ചെയ്യുന്നു..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"അൺഇൻസ്റ്റാളുചെയ്യൽ പൂർത്തിയായി."</string>
<string name="uninstall_failed" msgid="631122574306299512">"അൺഇൻസ്റ്റാളുചെയ്തു."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"ഈ പാക്കേജ് ഒരു സജീവ ഉപകരണ അഡ്‌മിനിസ്‌ട്രേറ്റർ ആയതിനാൽ അൺഇൻസ്റ്റാളുചെയ്യാനായില്ല."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"<xliff:g id="USERNAME">%1$s</xliff:g> എന്ന ഉപയോക്താവിനുള്ള ഒരു സജീവ ഉപകരണ അഡ്‌മിനിസ്‌ട്രേറ്ററായതിനാൽ ഈ പാക്കേജ് അൺഇൻസ്‌റ്റാളുചെയ്യാനാകില്ല."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"നിങ്ങളുടെ ഔദ്യോഗിക പ്രൊഫൈലിന് ഈ അപ്ലിക്കേഷൻ ആവശ്യമുള്ളതിനാൽ അത് അൺ‌ഇൻസ്റ്റാൾ ചെയ്യാനാവില്ല."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"ചില ഉപയോക്താക്കൾക്കോ പ്രൊഫൈലുകൾക്കോ ഈ ആപ്പ് ആവശ്യമാണ്, മറ്റുള്ളവർക്ക് ഈ ആപ്പ് അൺഇൻസ്റ്റാൾ ചെയ്തിരിക്കുന്നു"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"നിങ്ങളുടെ ഔദ്യോഗിക പ്രൊഫൈലിന് ഈ ആപ്പ് ആവശ്യമുള്ളതിനാൽ അത് അൺ‌ഇൻസ്റ്റാൾ ചെയ്യാനാവില്ല."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"നിങ്ങളുടെ ഉപകരണ അഡ്മിനിസ്ട്രേറ്ററിന് ഈ അപ്ലിക്കേഷൻ ആവശ്യമുള്ളതിനാൽ ഇത് അൺഇൻസ്റ്റാൾ ചെയ്യാനാവില്ല."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"ഉപകരണ അഡ്മിനിസ്ട്രേറ്റർമാരെ നിയന്ത്രിക്കുക"</string>
+ <string name="manage_users" msgid="3125018886835668847">"ഉപയോക്താക്കളെ മാനേജുചെയ്യുക"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> അൺഇൻസ്റ്റാളുചെയ്യാനായില്ല."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"പാഴ്‌സ് പിശക്"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"പാക്കേജ് പാഴ്‌സുചെയ്യുന്നതിൽ ഒരു പ്രശ്‌നമുണ്ടായിരുന്നു."</string>
<string name="newPerms" msgid="6039428254474104210">"പുതിയത്"</string>
<string name="allPerms" msgid="1024385515840703981">"എല്ലാം"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"ഉപകരണ ആക്‌സസ്സ്"</string>
<string name="no_new_perms" msgid="6657813692169565975">"ഈ അപ്‌ഡേറ്റിന് പുതിയ അനുമതികളൊന്നും ആവശ്യമില്ല."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"ഇനിപ്പറയുന്ന അനുമതികൾ അനുവദിക്കണോ? ഇതിന് ഇവയിലേക്ക് ആക്‌സസ്സ് ലഭിക്കും:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"അനുവദിക്കുക"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"നിരസിക്കുക"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"എന്തായാലും നിരസിക്കുക"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"<xliff:g id="APP_NAME">%1$s</xliff:g> ആപ്പിനെ <xliff:g id="ACTION">%2$s</xliff:g> എന്നതിന് അനുവദിക്കണോ?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"<xliff:g id="ACTION">%2$s</xliff:g> ചെയ്യുന്നതിന് &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; എന്ന ആപ്പിനെ അനുവദിക്കണോ?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"അനുവദിക്കുക"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"ആപ്സ്"</string>
<string name="app_permissions" msgid="3146758905824597178">"ആപ്പ് അനുമതികൾ"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"വീണ്ടും ചോദിക്കരുത്"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"വീണ്ടും ആവശ്യപ്പെടരുത്"</string>
<string name="no_permissions" msgid="3210542466245591574">"അനുമതികൾ ഇല്ല"</string>
<string name="additional_permissions" msgid="6667573114240111763">"അധിക അനുമതികൾ"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"ഈ അനുമതി ക്രമീകരണം മാറ്റുന്നതിന്, ക്രമീകരണം &gt; ആപ്സ് എന്നതിൽ നിന്ന് നിങ്ങളാദ്യം സ്ക്രീൻ ഓവർലേ ഓഫാക്കേണ്ടതാണ്"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"ക്രമീകരണം തുറക്കുക"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"ഇൻസ്റ്റാളോ അൺഇൻസ്റ്റാളോ ചെയ്യുന്നതിന് Wear-ൽ പിന്തുണയില്ല."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"ഇൻസ്റ്റാളോ അൺഇൻസ്റ്റാളോ ചെയ്യുന്നതിന് Wear-ൽ പിന്തുണയില്ല"</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> അപ്‌ഡേറ്റ് ചെയ്തു. ഇനിപ്പറയുന്നത് ആക്സസ് ചെയ്യാൻ <xliff:g id="APP_NAME_1">%1$s</xliff:g> ആപ്പിനെ അനുവദിക്കണോ?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"എന്ത് ആക്സസ് ചെയ്യാനാണ് <xliff:g id="APP_NAME">%1$s</xliff:g> അപ്പിനെ അനുവദിക്കേണ്ടതെന്ന് തീരുമാനിക്കുക."</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> അപ്‌ഡേറ്റ് ചെയ്തു. എന്ത് ആക്സസ് ചെയ്യാനാണ് ഈ അപ്പിനെ അനുവദിക്കേണ്ടതെന്ന് തീരുമാനിക്കുക."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"റദ്ദാക്കുക"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"തുടരുക"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"പുതിയ അനുമതികൾ"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"നിലവിലെ അനുമതികൾ"</string>
+ <string name="message_staging" msgid="6151794817691100003">"ആപ്പ് തയ്യാറാക്കുന്നു…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"അജ്ഞാതം"</string>
</resources>
diff --git a/res/values-mn-rMN-television/strings.xml b/res/values-mn-rMN-television/strings.xml
index f97debf8..7d9e5f10 100644
--- a/res/values-mn-rMN-television/strings.xml
+++ b/res/values-mn-rMN-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Та дараа үүнийг Toхиргоо &amp; Апп дотроос солих боломжтой"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Системийн апп-ыг харуулах"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Апп-н зөвшөөрөл"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Апп-н зөвшөөрөл"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> зөвшөөрөл"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Нэмэлт зөвшөөрөл"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> зөвшөөрөл"</string>
</resources>
diff --git a/res/values-mn-rMN/strings.xml b/res/values-mn-rMN/strings.xml
index c7d5431e..a6d7f48b 100644
--- a/res/values-mn-rMN/strings.xml
+++ b/res/values-mn-rMN/strings.xml
@@ -32,35 +32,29 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Та энэ аппликешны шинэчлэлтийг суулгах уу? Таны хуучин дата устах болно. Энэ ямар нэгэн тусгай эрх шаардахгүй."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Та энэ үндсэн аппликешны шинэчлэлтийг суулгах уу? Таны хуучин дата устах болно. Энэ ямар нэгэн тусгай эрх шаардахгүй."</string>
<string name="install_failed" msgid="6579998651498970899">"Апп суулгагдаагүй."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Багц суулгахыг блоклосон байна."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Энэ багц нь урьд нь суулгасан багцтай ижил нэртэй учир суулгах боломжгүй."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Энэ апп нь таны таблеттэй нийцэхгүй."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Энэ апп нь таны ТВ-д нийцэхгүй."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Энэ апп нь таны утастай нийцэхгүй."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Багц эвдэрсэн гэж гарч байна."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Зөрчилтэй гарын үсэгтэй адил нэртэй хуучин багц урд нь суулгагдсан байна."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Багц Андройдын шинэ хувилбар дээр л ажиллана."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Энэ апп таны таблеттэй тохирохгүй."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Энэхүү апп нь таны телевизэд тохирохгүй байна."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Энэ апп таны утастай тохирохгүй."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Суулгаж дуусгахаас өмнө тодорхойлогдсон багц устгагдсан байна."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Багц тулгалтыг давж чадаагүй ба суулгах боломжгүй."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Энэ багцийг тулгаж байхад хугацаа хэтрэв. Дараа дахин суулгана уу."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> таны таблет дээр суусангүй."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> нь таны телевизэд суурилуулах боломжгүй байна."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g>-г таны утсан дээр суулгах боломжгүй."</string>
<string name="launch" msgid="4826921505917605463">"Нээх"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Суулгалт хориглогдсон"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Аюулгүй байдлын үүднээс таны таблет тодорхойгүй эх сурвалжаас авсан апп суулгахыг хориглохоор тохируулагдсан."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Таны аюулгүй байдлыг хангах үүднээс таны телевиз үл мэдэгдэх эх үүсвэрээс апп суурилуулахыг хаасан байна."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Аюулгүй байдлын үүднээс таны төхөөрөмж тодорхойгүй эх сурвалжаас авсан апп суулгахыг хориглохоор тохируулагдсан."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Таны админ тодорхойгүй сурвалжаас татсан апп-г суулгахын зөвшөөрөөгүй."</string>
- <string name="ok" msgid="3468756155452870475">"Тийм"</string>
+ <string name="ok" msgid="3468756155452870475">"ОК"</string>
<string name="settings" msgid="6743583734099755409">"Тохиргоо"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Апп-н шинэ эх сурвалж"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> бусад апп-г суулгах шаардлагатай байна.\n\nЭнийг одоо болон цаашиид зөвшөөрөх үү?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Апп удирдах"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Апп-г орлуулах уу?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Таны суулгаж байгаа апп өөр апп-г орлох болно.\n\nТаны өмнөх хэрэглэгчийн дата бүгд хадгалагдах болно."</string>
<string name="dlg_sys_app_replacement_statement" msgid="1900046590819605929">"Энэ систем апп байна.\n\nТаны өмнөх хэрэглэгчийн дата бүгд хадгалагдах болно."</string>
<string name="out_of_space_dlg_title" msgid="7843674437613797326">"Зай дутагдаж байна"</string>
<string name="out_of_space_dlg_text" msgid="4774775404294282216">"<xliff:g id="APP_NAME">%1$s</xliff:g>-г суулгаж чадсангүй. Зайг чөлөөлөөд дахин оролдоно уу."</string>
- <string name="dlg_ok" msgid="6944357727705699232">"Тийм"</string>
+ <string name="dlg_ok" msgid="6944357727705699232">"ОК"</string>
<string name="app_not_found_dlg_title" msgid="2692335460569505484">"Апп олдсонгүй"</string>
<string name="app_not_found_dlg_text" msgid="6107465056055095930">"Суулгасан апп-н жагсаалт дотроос апп олдсонгүй."</string>
<string name="uninstall_application_title" msgid="1860074100811653963">"Апп устгах"</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Та энэ апп-г устгамаар байна уу?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Та энэ апп-г "<b>"бүх"</b>" хэрэглэгчээс устгах уу? Аппикешн болон доторх дата нь төхөөрөмж дээрх "<b>"бүх"</b>" хэрэглэгчээс устгагдах болно."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Та энэ апп-г <xliff:g id="USERNAME">%1$s</xliff:g> хэрэглэгчийн хувьд устгах уу?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Та энэ апп-г үйлдвэрийн хувилбараар нь орлуулах уу?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Энэ апп-г үйлдвэрээс ирсэн хувилбараар нь солих уу? Бүх өгөгдөл устах болно."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Энэ апп-г үйлдвэрээс ирсэн хувилбараар нь солих уу? Бүх өгөгдөл устах болно. Энэ нь ажлын профайлтай хэрэглэгч зэрэг энэ төхөөрөмжийн бүх хэрэглэгчдэд үйлчлэх болно."</string>
<string name="uninstalling" msgid="5556217435895938250">"Устгаж байна…"</string>
<string name="uninstall_done" msgid="3792487853420281888">"Устгаж дуусав."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Устгалт амжилтгүй болов."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Энэ багц нь идэвхтэй төхөөрөмжийн админ тул устгаж болохгүй."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Энэ багц бол <xliff:g id="USERNAME">%1$s</xliff:g> хэрэглэгчийн хувьд төхөөрөмжийн идэвхтэй администратор нь учраас устгах боломжгүй байна."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Энэ апп таны профайлд шаардлагатай бөгөөд устгах боломжгүй."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Энэ апп нь зарим хэрэглэгч эсвэл профайлд шаардлагатай учир үүнийг тэдгээрээс бусад хэрэглэгчдээс устгасан"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Энэ апп таны профайлд шаардлагатай бөгөөд устгах боломжгүй."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Энэ апп нь таны төхөөрөмжийн админд шаардлагатай бөгөөд устгах боломжгүй."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Төхөөрөмжийн админуудыг удирдах"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Хэрэгчлэгчдийг удирдах"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g>-г устгаж чадсангүй."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Задлах алдаа"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Багцийг задлахад алдаа гарав."</string>
<string name="newPerms" msgid="6039428254474104210">"Шинэ"</string>
<string name="allPerms" msgid="1024385515840703981">"Бүгд"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Төхөөрөмжид хандах"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Энэ шинэчлэл шинэ зөвшөөрөл шаардахгүй."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Та дараах зөвшөөрлийг олгох уу? Энэ нь дараахд хандах боломжтой:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Зөвшөөрөх"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Татгалзах"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Ямар ч үед татгалзах"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>-ийн <xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"<xliff:g id="APP_NAME">%1$s</xliff:g>-д <xliff:g id="ACTION">%2$s</xliff:g>-ийг зөвшөөрөх үү?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;-г <xliff:g id="ACTION">%2$s</xliff:g>-г зөвшөөрөх үү?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Зөвшөөрөх"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Апп"</string>
<string name="app_permissions" msgid="3146758905824597178">"Апп зөвшөөрөл"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Дахиад хэзээ ч битгий асуу"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Дахиж бүү асуу"</string>
<string name="no_permissions" msgid="3210542466245591574">"Зөвшөөрөлгүй байна"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Нэмэлт зөвшөөрөл"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Зөвшөөрлийн тохиргоог өөрчлөхийн тулд, эхлээд Тохиргоо ба Апп хэсгээс дэлгэцийн давхаргыг унтраана уу."</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Тохиргоог нээх"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Суулгах/Устгах үйлдлийг Wear дэмжээгүй."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Суулгах/Устгах үйлдлийг Wear дэмжээгүй."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g>-г шинэчилсэн. <xliff:g id="APP_NAME_1">%1$s</xliff:g>-д дараахад хандахыг зөвшөөрөх үү?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"<xliff:g id="APP_NAME">%1$s</xliff:g> юунд хандаж болохыг сонгох"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g>-г шинэчилсэн. Апп юунд хандаж болохыг сонгоорой."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Цуцлах"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Үргэлжлүүлэх"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Шинэ зөвшөөрөл"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Одоогийн зөвшөөрөл"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Апп-г байршуулж байна…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Тодорхойгүй"</string>
</resources>
diff --git a/res/values-mr-rIN-television/strings.xml b/res/values-mr-rIN-television/strings.xml
index a4b37b02..22c52a9e 100644
--- a/res/values-mr-rIN-television/strings.xml
+++ b/res/values-mr-rIN-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"आपण हे नंतर सेटिंग्ज आणि अॅप्स मध्ये बदलू शकता"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"सिस्टीम अॅप्स दर्शवा"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"अॅप परवानग्या"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"अॅप परवानग्या"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> परवानग्या"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"अतिरिक्त परवानग्या"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> परवानग्या"</string>
</resources>
diff --git a/res/values-mr-rIN/strings.xml b/res/values-mr-rIN/strings.xml
index 33329489..27b59614 100644
--- a/res/values-mr-rIN/strings.xml
+++ b/res/values-mr-rIN/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"आपण या विद्यमान अनुप्रयोगावर अद्यतन स्थापित करू इच्छिता? आपला विद्यमान डेटा गमावणार नाही. यासाठी कोणताही विशेष प्रवेश आवश्यक नसतो."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"आपण या अंगभूत अनुप्रयोगावर अद्यतन स्थापित करू इच्छिता? आपला विद्यमान डेटा गमावणार नाही. यास कोणत्याही विशेष प्रवेशाची आवश्यकता नसते."</string>
<string name="install_failed" msgid="6579998651498970899">"अॅप स्थापित झाला नाही."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"पॅकेेच स्थापित होण्यास अवरोधित केलेले होते."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"पॅकेजच्या समान नावाच्या विद्यमान पॅकेजशी संघर्ष होईल."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"हा अॅप आपल्या टॅब्लेटशी सुसंगत नाही."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"हा अॅप आपल्या टीव्हीशी सुसंगत नाही."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"हा अॅप आपल्या फोनशी सुसंगत नाही."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"पॅकेज कदाचित दूषित आहे."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"समान नावाद्वारे विवादित स्‍वाक्षरीसह अस्‍तित्‍वात असलेले पॅकेज आधीपासून स्‍थापित केले आहे."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"पॅकेज Android च्या केवळ नवीनतम आवृत्त्‍यांवर कार्य करते."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"हा अॅप आपल्या टॅब्लेटशी सुसंगत नाही."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"हा अॅप आपल्या टीव्हीशी सुसंगत नाही."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"हा अॅप आपल्या फोनशी सुसंगत नाही."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"स्‍थापित करणे पूर्ण होण्‍यापूर्वी निर्दिष्‍ट केलेले पॅकेज हटविले गेले."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"पॅकेज सत्‍यापनात उत्तीर्ण झाले नाही आणि स्‍थापित केले जाऊ शकत नाही."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"हे पॅकेज सत्यापित करण्याचा प्रयत्न करताना एक कालबाह्य त्रुटी आली. ते नंतर पुन्हा स्थापित करण्याचा प्रयत्न करा."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> आपल्या टॅब्लेटवर स्थापित केला जाऊ शकला नाही."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> आपल्या टीव्हीवर स्थापित केले जाऊ शकले नाही."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g> आपल्या फोनवर स्थापित केला जाऊ शकला नाही."</string>
<string name="launch" msgid="4826921505917605463">"उघडा"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"स्‍थापना अवरोधित केली"</string>
- <string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"सुरक्षिततेसाठी, आपला टॅब्लेट अज्ञात स्त्रोतांकडून प्राप्त झालेल्या अॅप्सची स्थापना अवरोधित करण्यावर सेट केला आहे."</string>
+ <string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"सुरक्षिततेसाठी, आपला टॅबलेट अज्ञात स्त्रोतांकडून प्राप्त झालेल्या अॅप्सची स्थापना अवरोधित करण्यावर सेट केला आहे."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"सुरक्षिततेसाठी, आपला टीव्ही अज्ञात स्त्रोतांकडून प्राप्त झालेल्या अॅप्सची स्थापना अवरोधित करण्यावर सेट केला आहे."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"सुरक्षिततेसाठी, आपला फोन अज्ञात स्त्रोतांकडून प्राप्त झालेल्या अॅप्सची स्थापना अवरोधित करण्यावर सेट केला आहे."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"अज्ञात स्त्रोतांकडून मिळविलेल्या अॅप्सच्या स्थापनेस आपला प्रशासक अनुमती देत नाही."</string>
<string name="ok" msgid="3468756155452870475">"ठीक"</string>
<string name="settings" msgid="6743583734099755409">"सेटिंग्ज"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"अॅप्स साठी नवीन स्त्रोत"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> इतर अ‍ॅप्‍स स्‍थापित करू इच्‍छितो.\n\nयास आता आणि भविष्‍यात अनुमती द्यायची?"</string>
<string name="manage_applications" msgid="4033876279091996596">"अ‍ॅप्स व्यवस्थापित करा"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"अॅप पुनर्स्थित करायचा?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"आपण स्थापित करत असलेला अॅप दुसरा अॅप पुनर्स्थित करेल.\n\nआपला सर्व मागील वापरकर्ता डेटा जतन केला जाईल."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"आपण हा अॅप विस्थापित करू इच्छिता?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"आपण हा अॅप "<b>"सर्व"</b>" वापरकर्त्यांसाठी विस्थापित करू इच्छिता? अनुप्रयोग आणि त्याचा डेटा डिव्हाइसवरील "<b>"सर्व"</b>" वापरकर्त्यांवरून काढला जाईल."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"आपण <xliff:g id="USERNAME">%1$s</xliff:g> वापरकर्त्यासाठी हा अ‍ॅप विस्‍थापित करु इच्‍छिता?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"आपण फॅक्टरी आवृत्तीसह हा अॅप पुनर्स्थित करू इच्छिता?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"फॅक्टरी आवृत्तीसह हा अॅप पुनर्स्थित करायचा? सर्व डेटा काढला जाईल."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"फॅक्टरी आवृत्तीसह हा अॅप पुनर्स्थित करायचा? सर्व डेटा काढला जाईल. हे कार्य प्रोफाईल असलेल्यांसह या डिव्हाइसच्या सर्व वापरकर्त्यांना प्रभावित करते."</string>
<string name="uninstalling" msgid="5556217435895938250">"विस्थापित करीत आहे…"</string>
<string name="uninstall_done" msgid="3792487853420281888">"विस्थापित करणे समाप्त."</string>
<string name="uninstall_failed" msgid="631122574306299512">"विस्थापित करणे अयशस्वी."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"हे पॅकेज सक्रिय डिव्हाइस प्रशासक असल्यामुळे विस्थापित करू शकत नाही."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"हे पॅकेज <xliff:g id="USERNAME">%1$s</xliff:g> वापरकर्त्यासाठी सक्रिय डिव्‍हाइस प्रशासक असल्‍याने विस्‍थापित करू शकत नाही."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"आपल्‍या कार्य प्रोफाईलसाठी हा अ‍ॅप आवश्‍यक आहे आणि विस्थापित केला जाऊ शकत नाही."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"हा अॅप काही वापरकर्ते किंवा प्रोफाईलसाठी आवश्यक आहे आणि इतरांसाठी विस्थापित केला होता"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"आपल्या प्रोफाईलसाठी हा अ‍ॅप आवश्यक आहे आणि विस्थापित केला जाऊ शकत नाही."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"आपल्‍या डिव्‍हाइस प्रशासकाद्वारे हा अ‍ॅप आवश्यक आहे आणि तो विस्‍थापित केला जाऊ शकत नाही."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"डिव्‍हाइस प्रशासकांना व्‍यवस्‍थापित करा"</string>
+ <string name="manage_users" msgid="3125018886835668847">"वापरकर्त्यांना व्यवस्‍थापित करा"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> विस्थापित केला जाऊ शकला नाही."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"विश्लेषण त्रुटी"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"पॅकेज चे विश्लेषण करताना समस्या आली."</string>
<string name="newPerms" msgid="6039428254474104210">"नवीन"</string>
<string name="allPerms" msgid="1024385515840703981">"सर्व"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"डिव्हाइस प्रवेश"</string>
<string name="no_new_perms" msgid="6657813692169565975">"या अद्यतनास कोणत्याही नवीन परवानग्यांची आवश्यकता नाही."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"आपण खालील परवानग्‍यांना मंजूरी देऊ इच्‍छिता? त्‍यांना यावर प्रवेश मिळेल:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"अनुमती द्या"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"नकार द्या"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"तरीही नकार द्या"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g> पैकी <xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"<xliff:g id="APP_NAME">%1$s</xliff:g> ला <xliff:g id="ACTION">%2$s</xliff:g> करण्‍याची अनुमती द्यायची?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ला <xliff:g id="ACTION">%2$s</xliff:g> ची अनुमती द्यायची?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"अनुमती द्या"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"अॅप्स"</string>
<string name="app_permissions" msgid="3146758905824597178">"अॅप परवानग्या"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"पुन्हा कधीही विचारू नका"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"पुन्हा विचारू नका"</string>
<string name="no_permissions" msgid="3210542466245591574">"परवानग्या नाहीत"</string>
<string name="additional_permissions" msgid="6667573114240111763">"अतिरिक्त परवानग्या"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"हे परवानगी सेटिंग बदलण्‍यासाठी, आपल्‍याला सेटिंग्ज &gt; Apps मधून स्क्रीन आच्छादन बंद करावे लागेल"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"सेटिंग्ज उघडा"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"स्थापित करा/विस्थापित करा क्रिया Wear वर समर्थित नाहीत."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"स्थापित करा/विस्थापित करा क्रिया Wear वर समर्थित नाहीत."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> अद्यतनित केला गेला आहे. <xliff:g id="APP_NAME_1">%1$s</xliff:g> ला खालील गोष्‍टींमध्‍ये प्रवेश करण्‍यासाठी अनुमती द्यायची?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"<xliff:g id="APP_NAME">%1$s</xliff:g> ला कशामध्‍ये प्रवेश करण्‍याची अनुमती द्यावी ते निवडा"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> अद्यतनित केला गेला आहे. या अॅपला कशामध्‍ये प्रवेश करण्‍याची अनुमती द्यावी ते निवडा."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"रद्द करा"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"सुरू ठेवा"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"नवीन परवानग्या"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"वर्तमान परवानग्या"</string>
+ <string name="message_staging" msgid="6151794817691100003">"अॅप प्रारंभाच्या स्थितीत आहे..."</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"अज्ञात"</string>
</resources>
diff --git a/res/values-ms-rMY-television/strings.xml b/res/values-ms-rMY-television/strings.xml
index 0ea0cde4..989aba7b 100644
--- a/res/values-ms-rMY-television/strings.xml
+++ b/res/values-ms-rMY-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Anda boleh menukar ini nanti dalam Tetapan &gt; Apl"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Tunjukkan apl sistem"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Kebenaran apl"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Kebenaran apl"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Kebenaran <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Kebenaran tambahan"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Kebenaran <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms-rMY/strings.xml
index c524a9af..e01b9112 100644
--- a/res/values-ms-rMY/strings.xml
+++ b/res/values-ms-rMY/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Adakah anda mahu memasang kemas kini untuk aplikasi sedia ada ini? Data sedia ada anda tidak akan hilang. Hal ini tidak memerlukan sebarang akses khas."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Adakah anda mahu memasang kemas kini untuk aplikasi terbina dalam ini? Data sedia ada anda tidak akan hilang. Hal ini tidak memerlukan sebarang akses khas."</string>
<string name="install_failed" msgid="6579998651498970899">"Aplikasi tidak dipasang."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Pakej ini telah disekat daripada dipasang."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Pakej ini bercanggah dengan pakej yang sedia ada kerana mempunyai nama yang sama."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Apl ini tidak serasi dengan tablet anda."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Apl ini tidak serasi dengan TV anda."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Apl ini tidak serasi dengan telefon anda."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Pakej itu kelihatan seperti telah rosak."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Pakej sedia ada yang mempunyai nama yang sama dengan tandatangan yang bercanggah sudah pun dipasang."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Pakej ini hanya berfungsi pada Android versi terbaru."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Aplikasi ini tidak serasi dengan tablet anda."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Apl ini tidak serasi dengan TV anda."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Aplikasi ini tidak serasi dengan telefon anda."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Pakej yang dinyatakan telah dipadamkan sebelum pemasangan dapat dilengkapkan."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Pakej ini tidak lulus pengesahan dan tidak boleh dipasang."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Tamat masa berlaku semasa cuba mengesahkan pakej ini. Cuba pasangkannya lagi nanti."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> tidak dapat dipasangkan pada tablet anda."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> tidak boleh dipasang pada TV anda."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g> tidak dapat dipasangkan pada telefon anda."</string>
<string name="launch" msgid="4826921505917605463">"Buka"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Pemasangan disekat"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Untuk keselamatan, tetapan tablet anda menyekat pemasangan apl dari sumber yang tidak diketahui."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Untuk keselamatan, TV anda ditetapkan untuk menyekat pemasangan apl dari sumber yang tidak dketahui."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Untuk keselamatan, tetapan telefon anda menyekat pemasangan apl dari sumber yang tidak diketahui."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Pentadbir anda tidak membenarkan pemasangan apl yang diperoleh dari sumber yang tidak diketahui."</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"Tetapan"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Sumber baru untuk aplikasi"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> mahu memasang aplikasi lain.\n\nBenarkan ini sekarang dan pada masa akan datang?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Urus aplikasi"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Ganti aplikasi?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Aplikasi yang sedang anda pasang akan menggantikan aplikasi lain.\n\nSemua data pengguna anda sebelum ini akan disimpan ."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Adakah anda mahu menyahpasang aplikasi ini?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Adakah anda mahu menyahpasang apl ini untuk "<b>"semua"</b>" pengguna? Aplikasi dan datanya akan dialih keluar daripada "<b>"semua"</b>" pengguna pada peranti."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Adakah anda ingin menyahpasang apl ini untuk pengguna <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Adakah anda mahu menggantikan aplikasi ini dengan versi kilang?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Gantikan apl ini dengan versi kilang? Semua data akan dialih keluar."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Gantikan apl ini dengan versi kilang? Semua data akan dialih keluar. Tindakan ini melibatkan semua pengguna peranti ini, termasuk mereka yang mempunyai profil kerja."</string>
<string name="uninstalling" msgid="5556217435895938250">"Menyahpasang..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Nyahpasang selesai."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Nyahpasang tidak berjaya."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Tidak boleh menyahpasang kerana pakej ini adalah pentadbir peranti yang aktif."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Tidak boleh menyahpasang kerana pakej ini adalah pentadbir peranti yang aktif untuk pengguna <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Apl ini diperlukan untuk profil kerja anda dan tidak boleh dinyahpasang."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Apl ini diperlukan untuk sesetengah pengguna atau profil dan telah dinyahpasang untuk yang lain"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Apl ini diperlukan untuk profil anda dan tidak boleh dinyahpasang."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Apl ini diperlukan oleh pentadbir peranti anda dan tidak boleh dinyahpasang."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Urus pentadbir peranti"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Urus pengguna"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> tidak dapat dinyahpasang."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Ralat penghuraian"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Terdapat masalah menghuraikan pakej."</string>
<string name="newPerms" msgid="6039428254474104210">"Baharu"</string>
<string name="allPerms" msgid="1024385515840703981">"Semua"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Akses Peranti"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Kemas kini ini tidak memerlukan kebenaran baharu."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Adakah anda ingin memberikan kebenaran berikut? Apl akan mendapat akses ke:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Benarkan"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Tolak"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Tolak juga"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> daripada <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Benarkan <xliff:g id="APP_NAME">%1$s</xliff:g> untuk <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Benarkan &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Benarkan"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Apl"</string>
<string name="app_permissions" msgid="3146758905824597178">"Kebenaran apl"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Jangan tanya lagi"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Jangan tanya lagi"</string>
<string name="no_permissions" msgid="3210542466245591574">"Tiada kebenaran"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Kebenaran tambahan"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Untuk menukar tetapan kebenaran ini, anda perlu mematikan tindanan skrin daripada Tetapan &gt; Apl terlebih dahulu"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Buka tetapan"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Tindakan Pasang/Nyahpasang tidak disokong pada Wear."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Tindakan pasang/nyahpasang tidak disokong pada Wear."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> telah dikemas kini. Benarkan <xliff:g id="APP_NAME_1">%1$s</xliff:g> mengakses perkara berikut?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Pilih perkara yang boleh diakses oleh <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> telah dikemas kini. Pilih perkara yang boleh diakses oleh apl ini."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Batal"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Teruskan"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Kebenaran baharu"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Kebenaran semasa"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Pemeringkatan apl…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Tidak diketahui"</string>
</resources>
diff --git a/res/values-my-rMM-television/strings.xml b/res/values-my-rMM-television/strings.xml
index a950b7ea..17e82c36 100644
--- a/res/values-my-rMM-television/strings.xml
+++ b/res/values-my-rMM-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"နောင်တွင် ဤသည်အား ဆက်တင်များ &gt; App များတွင် ပြင်နိုင်၏"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"စနစ်အပ်ဖ်များ ပြသရန်"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"အက်ပ်ခွင့်ပြုချက်များ"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"အက်ပ်ခွင့်ပြုချက်များ"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> ခွင့်ပြုချက်များ"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"အပိုဆောင်း ခွင့်ပြုချက်များ"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> ခွင့်ပြုချက်များ"</string>
</resources>
diff --git a/res/values-my-rMM/strings.xml b/res/values-my-rMM/strings.xml
index 818d349b..ae53bf8f 100644
--- a/res/values-my-rMM/strings.xml
+++ b/res/values-my-rMM/strings.xml
@@ -21,65 +21,61 @@
<string name="install" msgid="5896438203900042068">"ထည့်သွင်းပါ"</string>
<string name="done" msgid="3889387558374211719">"ပြီးပါပြီ"</string>
<string name="security_settings_desc" msgid="2706691034244052604">"ဒီအပလီကေးရှင်းကို ခွင့်ပြုရမှာကတော့:"</string>
- <string name="cancel" msgid="8360346460165114585">"ထားတော့"</string>
+ <string name="cancel" msgid="8360346460165114585">"မလုပ်တော့ပါ"</string>
<string name="unknown" msgid="4742479012767208045">"အကြောင်းအရာ မသိရှိ"</string>
<string name="installing" msgid="8613631001631998372">"ထည့်သွင်းနေပါသည်"</string>
- <string name="install_done" msgid="3682715442154357097">"အပလီကေးရှင်း ထည့်သွင်းပြီး"</string>
+ <string name="install_done" msgid="3682715442154357097">"အက်ပ် ထည့်သွင်းပြီး"</string>
<string name="install_confirm_question" msgid="7295206719219043890">"ဤအပလီကေးရှင်းကို ထည့်သွင်းပါမလား။ ဤအပလီကေးရှင်း သုံးစွဲခွင့်ရှိမှာ ကတော့:"</string>
<string name="install_confirm_question_no_perms" msgid="5918305641302873520">"ဤအပလီကေးရှင်းကို ထည့်သွင်းပါမလား။ အထူးတလည် သုံးခွင့် မလိုအပ်ပါ"</string>
- <string name="install_confirm_question_update" msgid="4624159567361487964">"လက်ရှိ ရှိပြီးသား အပလီကေးရှင်းကို အဆင့်မြှင့်လိုပါသလား။ ရှိပြီးသား အချက်အလက်များကို ဆုံးရှုံးမည် မဟုတ်ပါ။ အဆင့်မြှင့်လိုက်သော အပလီကေးရှင်း သုံးစွဲခွင့်ရှိမှာ များကတော့:"</string>
- <string name="install_confirm_question_update_system" msgid="1302330093676416336">"အဆင့်သင့် ပါလာသော အပလီကေးရှင်းကို အဆင့်မြှင့်လိုပါသလား။ ရှိပြီးသား အချက်အလက်များကို ဆုံးရှုံးမည် မဟုတ်ပါ။ အဆင့်မြှင့်လိုက်သော အပလီကေးရှင်း သုံးစွဲခွင့်ရှိမှာ များကတော့:"</string>
+ <string name="install_confirm_question_update" msgid="4624159567361487964">"လက်ရှိ ရှိပြီးသား အက်ပ်ကို အဆင့်မြှင့်လိုပါသလား။ ရှိပြီးသား အချက်အလက်များကို ဆုံးရှုံးမည် မဟုတ်ပါ။ အဆင့်မြှင့်လိုက်သော အက်ပ် သုံးစွဲခွင့်ရှိမှာ များကတော့:"</string>
+ <string name="install_confirm_question_update_system" msgid="1302330093676416336">"အဆင့်သင့် ပါလာသော အက်ပ်ကို အဆင့်မြှင့်လိုပါသလား။ ရှိပြီးသား အချက်အလက်များကို ဆုံးရှုံးမည် မဟုတ်ပါ။ အဆင့်မြှင့်လိုက်သော အက်ပ် သုံးစွဲခွင့်ရှိမှာ များကတော့:"</string>
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"လက်ရှိ ရှိပြီးသား အပလီကေးရှင်းကို အဆင့်မြှင့်လိုပါသလား။ ရှိပြီးသား အချက်အလက်များကို ဆုံးရှုံးမည် မဟုတ်ပါ။ အထူးတလည် သုံးခွင့် မလိုအပ်ပါ"</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"အဆင့်သင့် ပါလာသော အပလီကေးရှင်းကို အဆင့်မြှင့်လိုပါသလား။ ရှိပြီးသား အချက်အလက်များကို ဆုံးရှုံးမည် မဟုတ်ပါ။ အထူးတလည် သုံးခွင့် မလိုအပ်ပါ"</string>
- <string name="install_failed" msgid="6579998651498970899">"အပလီကေးရှင်း မထည့်သွင်းရသေးပါ"</string>
+ <string name="install_failed" msgid="6579998651498970899">"အက်ပ် မထည့်သွင်းရသေးပါ"</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"ပက်ကေ့ထည့်သွင်းခြင်းကို ပိတ်ဆို့ထားသည်။"</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"ပက်ကေ့သည် အမည်တူနေသည့် တည်ရှိနေပြီးသားပက်ကေ့ဖြင့် တိုက်နေသည်။"</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"ဤအပလီကေးရှင်းက သင့်တက်ဘလက်နဲ့ မသင့်တော်ပါ"</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"ဤ အက်ပ် သည် သင့်တီဗွီနှင့် တွဲဖက်သုံးမရပါ။"</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"ဤအပလီကေးရှင်းက သင့်ဖုန်းနဲ့ မသင့်တော်ပါ"</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"ဤpackageမှာ ဖျက်စီးသွားပါသည်။"</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"လက်ရှိpackageနှင့် အမည်တူပြီး လက်မှတ်ကွဲလွဲဆန့်ကျင်သောpackage မှာ ထည့်သွင်းထားပြီးသာဖြစ်သည်။"</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Packageမှာ Androidဗားရှင်းအသစ်များတွင်သာ အလုပ်လုပ်ပါသည်"</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"ဤအပလီကေးရှင်းက သင့်တက်ဘလက်နဲ့ မသင့်တော်ပါ"</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"ဤ app သည် သင့်တီဗွီနှင့် တွဲဖက်သုံးမရပါ။"</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"ဤအပလီကေးရှင်းက သင့်ဖုန်းနဲ့ မသင့်တော်ပါ"</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"ထည့်သွင်းခြင်းမပြီးဆုံးမီ packageမှာပျက်စီးသွားပါသည်။"</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"ဤpackageအား စီစစ်အတည်ပြုခြင်းမအောင်မြင်သောကြောင့် ထည့်သွင်းလို့မရပါ။"</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"ဤအချက်အလက်အစု ကို စစ်ဆေးဖို့ ကြိုးစားခြင်း အချိန်ကုန်လွန်ခြင်း ဖြစ်သွားပါသည်။ နောက်မှ ပြန်လည် ထည့်သွင်းရန် ကြိုးစားပါ"</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> ကို သင့်တက်ဘလက်တွင် ထည့်သွင်းလို့ မရနိုင်ပါ"</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"သင့်တီဗွီတွင် <xliff:g id="APP_NAME">%1$s</xliff:g> အား မတပ်ဆင်နိုင်ပါ။"</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g> ကို သင့်ဖုန်းတွင် ထည့်သွင်းလို့ မရနိုင်ပါ"</string>
<string name="launch" msgid="4826921505917605463">"ဖွင့်သည်"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"ထည့်သွင်းခြင်းမပြုလုပ်နိုင်ရန် ပိတ်ပင်ထားသည်"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"လုံခြုံရေးအတွက်, ဇစ်မြစ် မသိသော အပလီကေးရှင်းများ တက်ဘလက်ထဲ သွင်းခြင်းကို ပိတ်ပင်ထားပါသည်"</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"လုံခြုံရေးအတွက်၊ ဇစ်မြစ် မသိသော အပလီကေးရှင်းများ ဖုန်းတွင်း သွင်းခြင်းအား ပိတ်ပင်ထား၏။"</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"လုံခြုံရေးအတွက်, ဇစ်မြစ် မသိသော အပလီကေးရှင်းများ ဖုန်းထဲ သွင်းခြင်းကို ပိတ်ပင်မှု ပြုလုပ်ထားပါသည်"</string>
- <string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"သင်၏ စီမံအုပ်ချုပ်သူက မသိရသည့် ရင်းမြစ်များမှ ရယူခဲ့သည့် appများကို တပ်ဆင်မှု ခွင့်မပြုပါ။"</string>
- <string name="ok" msgid="3468756155452870475">"ကောင်းပြီ"</string>
+ <string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"သင်၏ စီမံအုပ်ချုပ်သူက မသိရသည့် ရင်းမြစ်များမှ ရယူခဲ့သည့် အက်ပ်များကို တပ်ဆင်မှု ခွင့်မပြုပါ။"</string>
+ <string name="ok" msgid="3468756155452870475">"အိုကေ"</string>
<string name="settings" msgid="6743583734099755409">"အပြင်အဆင်များ"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"အပလီကေးရှင်းထည့်သွင်းရန် ပင်မနေရာသစ်"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g>သည် တခြားအပ်ပလီကေးရှင်းအားထည့်သွင်းချင်ပါသည်.\n\nယခု နှင့် နောင်တွင်လဲ ခွင့်ပြုမည်လား"</string>
<string name="manage_applications" msgid="4033876279091996596">"အပလီကေးရှင်းများအား ထိန်းသိမ်းခြင်း"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"အပလီကေးရှင်းအား အစားထိုးမညိလား?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"သင် ထည့်သွင်းနေသော အပလီကေးရှင်းမှာ တခြား အပလီကေးရှင်းတစ်ခုအား အစားထိုးပါမည်။.\n\n ယခင်သိမ်းဆည်းထားသော အချက်အလက်များ ကို သိမ်းဆည်းပေးပါမည်။"</string>
- <string name="dlg_sys_app_replacement_statement" msgid="1900046590819605929">"ဒီဟာသည် စနစ်၏အပလီကေးရှင်း ဖြစ်ပါသည်။ \n\nယခင် သုံးစွဲသူအချက်အလက်များ ကို သိမ်းဆည်းပေးပါမည်။"</string>
+ <string name="dlg_sys_app_replacement_statement" msgid="1900046590819605929">"ဒီဟာသည် စနစ်၏အက်ပ် ဖြစ်ပါသည်။ \n\nယခင် သုံးစွဲသူအချက်အလက်များ ကို သိမ်းဆည်းပေးပါမည်။"</string>
<string name="out_of_space_dlg_title" msgid="7843674437613797326">"နေရာလွတ်မရှိပါ"</string>
<string name="out_of_space_dlg_text" msgid="4774775404294282216">"<xliff:g id="APP_NAME">%1$s</xliff:g> ကို ထည့်သွင်းလို့ မရနိုင်ပါ။ နေရာအပိုရအောင် ရှင်းလင်းပြီး ပြန်ကြိုးစားပါ"</string>
- <string name="dlg_ok" msgid="6944357727705699232">"ကောင်းပြီ"</string>
- <string name="app_not_found_dlg_title" msgid="2692335460569505484">"အပလီကေးရှင်း အားမတွေ့ပါ"</string>
+ <string name="dlg_ok" msgid="6944357727705699232">"အိုကေ"</string>
+ <string name="app_not_found_dlg_title" msgid="2692335460569505484">"အက်ပ် အားမတွေ့ပါ"</string>
<string name="app_not_found_dlg_text" msgid="6107465056055095930">"ထည့်သွင်းထားသော အပလီကေးရှင်းထဲတွင် ဤအပလီကေးရှင်း မတွေ့ရှိပါ"</string>
<string name="uninstall_application_title" msgid="1860074100811653963">"အပလီကေးရှင်းကို ဖယ်ရှားပါ"</string>
<string name="uninstall_update_title" msgid="4146940097553335390">"အဆင့်မြှင့်ခြင်းကို ဖယ်ရှားပါ"</string>
- <string name="uninstall_activity_text" msgid="6680688689803932550">"<xliff:g id="ACTIVITY_NAME">%1$s</xliff:g> ကတော့ အောက်ပါ အပလီကေးရှင်း၏အစိတ်အပိုင်း တစ်ခု ဖြစ်ပါသည်:"</string>
+ <string name="uninstall_activity_text" msgid="6680688689803932550">"<xliff:g id="ACTIVITY_NAME">%1$s</xliff:g> ကတော့ အောက်ပါ အက်ပ်၏အစိတ်အပိုင်း တစ်ခု ဖြစ်ပါသည်:"</string>
<string name="uninstall_application_text" msgid="6691975835951187030">"ဤအပလီကေးရှင်းကို သင်ဖယ်ရှားချင်ပါသလား"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"ဤအပလီကေးရှင်းကို အသုံးပြုသူ"<b>" အားလုံး"</b>" အတွက် ဖယ်ရှားချင်ပါသလား? ဤအပလီကေးရှင်း နှင့် သက်ဆိုင်ရာ အချက်အလက်များ အားလုံးကို "<b>" မှ အားလုံးသော "</b>" စက်အသုံးပြုသူတွေအတွက် ဖယ်ရှားပစ်ပါလိမ့်မည်"</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"သင်သည် အသုံးပြုသူ <xliff:g id="USERNAME">%1$s</xliff:g> အတွက် ဒီအကောင့်ကို ဖြုတ်ပစ်လိုပါသလား?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"ဒီ အပလီကေးရှင်းကို မူလ စက်ရုံထုတ်မူကွဲနှင့် အစားထိုးချင်ပါသလား"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"ဤအက်ပ်ကို စက်ရုံထုတ်ဗားရှင်းဖြင့် အစားထိုးမလား။ ဒေတာများအားလုံးကို ဖယ်ရှားလိုက်ပါမည်။"</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"ဤအက်ပ်ကို စက်ရုံထုတ်ဗားရှင်းဖြင့် အစားထိုးမလား။ ဒေတာများအားလုံးကို ဖယ်ရှားလိုက်ပါမည်။ ၎င်းသည် အလုပ်ပရိုဖိုင်ဖြင့်သုံးသူများအပါအဝင် အသုံးပြုသူများအားလုံးကို အကျိုးသက်ရောက်စေပါလိမ့်မည်။"</string>
<string name="uninstalling" msgid="5556217435895938250">"ဖယ်ထုတ်သည်"</string>
<string name="uninstall_done" msgid="3792487853420281888">"ဖယ်ရှားခြင်း ပြီးပါပြီ"</string>
<string name="uninstall_failed" msgid="631122574306299512">"ဖယ်ရှားမှု မအောင်မြင်ပါ"</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"ဤ အချက်အလက်အစုသည်လက်ရှိ စက်၏ အက်ဒ်မင် ဖြစ်နေသောကြောင့် ဖယ်ရှားလို့ မရပါ"</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"ဒီအထုပ်မှာ အသုံးပြုသူ<xliff:g id="USERNAME">%1$s</xliff:g>အတွက် လုပ်ကိုင်နေသည့် စီမံအုပ်ချုပ်သူဖြစ်၍ ဖြုတ်မရနိုင်ပါ။"</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"ဤအပ်ဖ်သည် သင့်အလုပ်ကိုယ်ရေးအချက်အလက်အတွက်လိုအပ်ပြီး ဖြုတ်၍မရနိုင်ပါ။"</string>
- <string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"ဒီappမှာ သင်၏ ကိရိယာ စီမံအုပ်ချုပ်သူက လိုအပ်သောကြောင့် ဖြုတ်၍ မရနိုင်ပါ။"</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"အချို့အသုံးပြုသူများ သို့မဟုတ် ပရိုဖိုင်များအတွက် ဤအက်ပ်ကို လိုအပ်သော်လည်း အချို့သူများအတွက် ဖြုတ်ထားပါသည်"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"သင့်ပရိုဖိုင်အတွက် ဤအက်ပ်ကိုလိုအပ်ပြီး ဖြုတ်၍မရပါ။"</string>
+ <string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"ဒီအက်ပ်မှာ သင်၏ ကိရိယာ စီမံအုပ်ချုပ်သူက လိုအပ်သောကြောင့် ဖြုတ်၍ မရနိုင်ပါ။"</string>
<string name="manage_device_administrators" msgid="891392489300312370">"စက်ပစ္စည်းထိန်းချုပ်မှုအား စီမံရန်"</string>
+ <string name="manage_users" msgid="3125018886835668847">"အသုံးပြုသူများအား စီမံခန့်ခွဲပါ"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> ကို ဖယ်ရှားလို့ မရပါ"</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"ဖတ်ရှုရာတွင် မှားယွင်းမှု"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"ဒေတာအချက်အလက်အစုအားဖတ်ရှုစဉ် ပြသနာ တစ်ခု ဖြစ်ပေါ်ပါသည်"</string>
<string name="newPerms" msgid="6039428254474104210">"အသစ်"</string>
<string name="allPerms" msgid="1024385515840703981">"အားလုံး"</string>
@@ -87,22 +83,23 @@
<string name="devicePerms" msgid="6733560207731294504">"စက်ပစ္စည်း အသုံးပြုခွင့်"</string>
<string name="no_new_perms" msgid="6657813692169565975">"ဒီအဆင့်မြှင့်ခြင်းဟာ ခွင့်ပြုချက်သစ်တွေ မလိုအပ်ပါ"</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"အောက်ပါ ခွင့်ပြုချက်များ ပေးလိုပါသလား။ ၎င်းတို့က သုံးခွင့်ပြုမှာကတော့၊"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"ခွင့်ပြုသည်"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"ငြင်းပယ်သည်"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"မည်သို့ပင်ဖြစ်စေ ငြင်းပယ်ပါ"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"<xliff:g id="APP_NAME">%1$s</xliff:g> အား <xliff:g id="ACTION">%2$s</xliff:g> ခွင့်ပြုသလား။"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ကို <xliff:g id="ACTION">%2$s</xliff:g> ရန်ခွင့်ပြုမလား။"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"ခွင့်ပြုသည်"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Appများ"</string>
<string name="app_permissions" msgid="3146758905824597178">"App ခွင့်ပြုချက်များ"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"ထပ်မမေးရန်"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"နောက်ထပ်မမေးပါနှင့်"</string>
<string name="no_permissions" msgid="3210542466245591574">"ခွင့်ပြုချက်မရှိ"</string>
<string name="additional_permissions" msgid="6667573114240111763">"ထပ်တိုး ခွင့်ပြုချက်များ"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
<item quantity="other"> နောက်ထပ် <xliff:g id="COUNT_1">%1$d</xliff:g></item>
<item quantity="one"> နောက်ထပ် <xliff:g id="COUNT_0">%1$d</xliff:g> </item>
</plurals>
- <string name="old_sdk_deny_warning" msgid="3872277112584842615">"ဤapp အား Android ၏ ဗားရှင်းဟောင်းအတွက် ပုံဆွဲရေးဆွဲထား၏။ ခွင့်ပြုချက်ပေးရန် ငြင်းဆိုပါက ရည်ရွယ်ထားသကဲ့သို့ ဆောင်ရွက်လိမ့်မည် မဟုတ်ပါ။"</string>
+ <string name="old_sdk_deny_warning" msgid="3872277112584842615">"ဤအက်ပ် အား Android ၏ ဗားရှင်းဟောင်းအတွက် ပုံဆွဲရေးဆွဲထား၏။ ခွင့်ပြုချက်ပေးရန် ငြင်းဆိုပါက ရည်ရွယ်ထားသကဲ့သို့ ဆောင်ရွက်လိမ့်မည် မဟုတ်ပါ။"</string>
<string name="default_permission_description" msgid="4992892207044156668">"အမျိုးအမည်မသိ ဆောင်ရွက်ချက်တစ်ခု လုပ်ရန်"</string>
- <string name="app_permissions_group_summary" msgid="4787239772223699263">"<xliff:g id="COUNT_0">%1$d</xliff:g> / <xliff:g id="COUNT_1">%2$d</xliff:g> app များ ခွင့်ပြုခဲ့၏"</string>
+ <string name="app_permissions_group_summary" msgid="4787239772223699263">"<xliff:g id="COUNT_0">%1$d</xliff:g> / <xliff:g id="COUNT_1">%2$d</xliff:g> အက်ပ် များ ခွင့်ပြုခဲ့၏"</string>
<string name="menu_show_system" msgid="6773743421743728921">"စနစ်ကိုပြသရန်"</string>
<string name="menu_hide_system" msgid="7595471742649432977">"စနစ်ကို ဖျောက်မည်"</string>
<string name="permission_title" msgid="6495415273398916381">"<xliff:g id="PERMISSION">%1$s</xliff:g> ခွင့်ပြုချက်များ"</string>
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"ဒီခွင့်ပြုချက် ဆက်တင်ကို ပြောင်းရန်၊ သင်ဟာ ဦးစွာ ဆက်တင်များ &gt; Appများ ထဲတွင် မျက်နှာပြင် ထပ်ပေးမှုကို ပိတ်လိုက်ရန် လိုမယ်"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"ဆက်တင်းများ ဖွင့်ရန်"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android ဆောင်စရာ"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Wear ပေါ်တွင် ထည့်သွင်းခြင်း/ဖြုတ်ခြင်း လုပ်ဆောင်ချက်များကို မပံ့ပိုးထားပါ။"</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Wear ပေါ်တွင် ထည့်သွင်းခြင်း/ဖြုတ်ခြင်းများကို ပံ့ပိုးမထားပါ။"</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> ကို အပ်ဒိတ် လုပ်ခဲ့သည်။<xliff:g id="APP_NAME_1">%1$s</xliff:g> အား အောက်ဖေါ်ပြပါကို သုံးခွင့် ပြုရမလား။"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"<xliff:g id="APP_NAME">%1$s</xliff:g> အား သုံးခွင့် ပြုမှာကို ရွေးချယ်ပါ"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> ကို အပ်ဒိတ် လုပ်ခဲ့သည်။ ဤအက်ပ်အား သုံးခွင့် ပြုမှာကို ရွေးချယ်ပါ။"</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"မလုပ်တော့ပါ"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"ဆက်လုပ်ပါ"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"ခွင့်ပြုချက် အသစ်များ"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"လက်ရှိ ခွင့်ပြုချက်များ"</string>
+ <string name="message_staging" msgid="6151794817691100003">"အက်ပ်ကို ပြင်ဆင်နေသည်…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"အမျိုးအမည်မသိ"</string>
</resources>
diff --git a/res/values-nb-television/strings.xml b/res/values-nb-television/strings.xml
index df32fa97..57f6a21c 100644
--- a/res/values-nb-television/strings.xml
+++ b/res/values-nb-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Du kan endre dette senere i Innstillinger &gt; Apper"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Vis systemapper"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Apptillatelser"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Apptillatelser"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Tillatelser for <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Flere tillatelser"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Tillatelser for <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 8d74eb1a..9798e37e 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Vil du installere en oppdatering av denne eksisterende appen? De eksisterende dataene dine går ikke tapt. Dette krever ingen spesiell tilgang."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Vil du installere en oppdatering av denne innebygde appen? De eksisterende dataene dine går ikke tapt. Dette krever ingen spesiell tilgang."</string>
<string name="install_failed" msgid="6579998651498970899">"Appen ble ikke installert."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Pakken er blokkert fra å bli installert."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Pakken er i konflikt med en eksisterende pakke med samme navn."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Denne appen er ikke kompatibel med nettbrettet ditt."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Denne appen er ikke kompatibel med TV-en din."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Denne appen er ikke kompatibel med telefonen din."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Pakken virker å være skadet."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Det er allerede installert en eksisterende pakke med samme navn som har en motstridende signatur."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Pakken fungerer kun på nyere versjoner av Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Denne appen er ikke kompatibel med nettbrettet ditt."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Denne appen er ikke kompatibel med TV-en din."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Denne appen er ikke kompatibel med telefonen din."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Den angitte pakken ble slettet før installeringen kunne fullføres."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Pakken kunne ikke bekreftes, og kan således ikke installeres."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Det oppsto et tidsavbrudd under bekreftelsen av denne pakken. Prøv å installere den på nytt senere."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> kunne ikke installeres på nettbrettet ditt."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> kunne ikke installeres på TV-en."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g> kunne ikke installeres på telefonen din."</string>
<string name="launch" msgid="4826921505917605463">"Åpne"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Installasjonen ble blokkert"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Av sikkerhetshensyn blokkerer nettbrettet ditt automatisk installasjon av apper fra ukjente kilder."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"TV-en din er blitt innstilt til å blokkere installasjon av apper som er hentet fra ukjente kilder, for å ivareta sikkerheten din."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Av sikkerhetshensyn blokkerer telefonen din automatisk installasjon av apper fra ukjente kilder."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Administratoren din tillater ikke installering av apper som er hentet fra ukjente kilder."</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"Innstillinger"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Ny kilde for apper"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> vil installere andre apper.\n\nVil du tillate dette nå og i fremtiden?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Administrer apper"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Vil du erstatte appen?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Appen du installerer erstatter en annen app.\n\nAlle de tidligere brukerdataene dine blir lagret."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Vil du avinstallere denne appen?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Vil du avinstallere denne appen for "<b>"alle"</b>" brukere? Appen og tilhørende data blir fjernet fra "<b>"alle"</b>" brukere på enheten."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Ønsker du å avinstallere denne appen for brukeren <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Vil du erstatte denne appen med den opprinnelige versjonen?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Vil du erstatte denne appen med den opprinnelige versjonen? Alle dataene fjernes."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Vil du erstatte denne appen med den opprinnelige versjonen? Alle dataene fjernes. Dette påvirker alle som bruker denne enheten – også personer med jobbprofiler."</string>
<string name="uninstalling" msgid="5556217435895938250">"Avinstallerer…"</string>
<string name="uninstall_done" msgid="3792487853420281888">"Avinstalleringen er fullført."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Avinstalleringen mislyktes."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Kan ikke avinstallere fordi denne pakken er en aktiv enhetsadministrator."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Kan ikke avinstallere fordi denne pakken er en aktiv enhetsadministrator for brukeren <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Denne appen er nødvendig for Work-profilen din og kan ikke avinstalleres."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Appen er nødvendig for noen brukere eller profiler, og den er avinstallert for andre"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Denne appen er nødvendig for profilen din og kan ikke avinstalleres."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Denne appen kreves av enhetsadministratoren din og kan ikke avinstalleres."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Administrer enhetsadministratorer"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Administrer brukere"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> kunne ikke installeres."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Analysefeil"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Det oppsto et problem med analysen av pakken."</string>
<string name="newPerms" msgid="6039428254474104210">"Nye"</string>
<string name="allPerms" msgid="1024385515840703981">"Alle"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Enhetstilgang"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Denne oppdateringen krever ingen nye tillatelser."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Ønsker du å gi følgende tillatelser? Dette gir tilgang til:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Tillat"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Ikke tillat"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Avvis likevel"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> av <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Vil du tillate <xliff:g id="APP_NAME">%1$s</xliff:g> å <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Vil du gi &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; tillatelse til å <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Tillat"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Apper"</string>
<string name="app_permissions" msgid="3146758905824597178">"Apptillatelser"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Spør aldri igjen"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Ikke spør igjen"</string>
<string name="no_permissions" msgid="3210542466245591574">"Ingen tillatelser"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Flere tillatelser"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"For å endre denne tillatelsesinnstilingen må du først slå av skjermoverlegget fra Innstillinger &gt; Apper"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Åpne innstillingene"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Handlingene for å installere og avinstallere er ikke støttet på Wear."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Handlinger for å installere og avinstallere er ikke støttet på Wear."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> er oppdatert. Vil du gi <xliff:g id="APP_NAME_1">%1$s</xliff:g> tilgang til følgende?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Velg hva du vil gi <xliff:g id="APP_NAME">%1$s</xliff:g> tilgang til"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> er oppdatert. Velg hva du vil gi denne appen tilgang til."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Avbryt"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Fortsett"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Nye tillatelser"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Gjeldende tillatelser"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Setter opp appen …"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Ukjent"</string>
</resources>
diff --git a/res/values-ne-rNP-television/strings.xml b/res/values-ne-rNP-television/strings.xml
index f6c9f6b5..945c97c9 100644
--- a/res/values-ne-rNP-television/strings.xml
+++ b/res/values-ne-rNP-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"तपाईँ यसलाई पछि सेटिङ &gt; अनुप्रयोगमा बदल्न सक्नु हुन्छ"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"प्रणाली अनुप्रयोगहरू देखाउनुहोस्"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"अनुप्रयोग सम्बन्धी अनुमतिहरू"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"अनुप्रयोग सम्बन्धी अनुमतिहरू"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> सम्बन्धी अनुमतिहरू"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"अतिरिक्त अनुमतिहरू"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> सम्बन्धी अनुमतिहरू"</string>
</resources>
diff --git a/res/values-ne-rNP/strings.xml b/res/values-ne-rNP/strings.xml
index a584d50b..1b03addd 100644
--- a/res/values-ne-rNP/strings.xml
+++ b/res/values-ne-rNP/strings.xml
@@ -32,35 +32,29 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"के तपाईँसँग अहिले भइरहेको अनुप्रयोगको एउटा अपडेटलाई स्थापित गर्न चाहनु हुन्छ? तपाईँको अहिलेको डेटा हराउने छैन। यसलाई कुनै विशेष पहुँचको आवश्यकता छैन।"</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"के तपाईँ यस जोडिएको अनुप्रयोगको एउटा अपडेटलाई स्थापित गर्न चाहनुहुन्छ? तपाईँको अहिलेको डेटा हराउने छैन। यसलाई कुनै विशेष पहुँचको आवश्यकता छैन।"</string>
<string name="install_failed" msgid="6579998651498970899">"अनुप्रयोग स्थापना भएन।"</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"यो प्याकेज स्थापना हुनबाट अवरुद्ध भएको थियो।"</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"यो प्याकेज उस्तै नाम भएको अवस्थित प्याकेजसँग जुधेको छ।"</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"यो अनुप्रयोग तपाईँको ट्याब्लेटको लागि उपयुक्त छैन।"</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"यो अनुप्रयोग तपाईँको TV को लागि उपयुक्त छैन।"</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"यो अनुप्रयोग तपाईँको फोनको लागि उपयुक्त छैन।"</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"प्याकेज बिग्रेको जस्तो देखिन्छ।"</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"एउटा अवस्थित त्यही नाम गरेको विवादग्रस्त हस्ताक्षर भएको प्याकेज पहिल्यै स्थापित छ।"</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"प्याकेजले एन्ड्रोइडको नयाँ संस्करणमा मात्र काम गर्छ।"</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"यो अनुप्रयोग तपाईँको ट्याब्लेटसँग मिल्दो छैन।"</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"यो अनुप्रयोग तपाईँको TVसँग मिल्दो छैन।।"</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"यो अनुप्रयोग तपाईंको फोनसँग उपयुक्त छैन।"</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"उल्लेखित प्याकेज जडान प्रक्रिया पूरा हुन अगाडि नै हटाइएको थियो।"</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"प्याकेजले प्रमाणीकरण उत्तीर्ण गरेन र स्थापना गर्न सकिँदैन।"</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"यो प्याकेज प्रमाणित गर्दागर्दै समय सकियो। यसलाई फेरि स्थापना गर्ने प्रयास गर्नुहोस्।"</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> तपाईँको ट्याब्लेटमा स्थापित हुन सकेन।"</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"तपाईँको TVमा<xliff:g id="APP_NAME">%1$s</xliff:g>स्थापना गर्न सकिएन।"</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"तपाईँको फोनमा <xliff:g id="APP_NAME">%1$s</xliff:g> जडान हुन सकेन।"</string>
<string name="launch" msgid="4826921505917605463">"खोल्नुहोस्"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"स्थापित गर्न बन्देज"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"सुरक्षाको लागि, तपाईँको ट्याब्लेटले अज्ञात स्रोतहरू बाट प्राप्त भएका अनुप्रयोगहरू स्थापित गर्न बन्देज सेट गर्यो।"</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"सुरक्षाको लागि, तपाईँको TVमा अज्ञात स्रोतबाट प्राप्त हुने अनुप्रयोगहरूको स्थापनालाई अवरोध गर्ने गरी सेट गरिएको छ।"</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"सुरक्षाको लागि तपाईँको फोनले अज्ञात स्रोतहरूबाट प्राप्त भएका अनुप्रयोगहरू स्थापित गर्न बन्देज सेट गर्यो।"</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"तपाईँको व्यवस्थापकले अज्ञात स्रोतबाट प्राप्त भएका अनुप्रयोगहरू स्थापना गर्न अनुमति दिनुहुन्न।"</string>
- <string name="ok" msgid="3468756155452870475">"ठिक छ"</string>
+ <string name="ok" msgid="3468756155452870475">"ठीक छ"</string>
<string name="settings" msgid="6743583734099755409">"सेटिङहरू"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"अनुप्रयोगको लागि नयाँ स्रोत"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g>ले अर्को अनुप्रयोगहरू जडान गर्न चाहन्छ।\n\n यसलाई अहिले र भविष्यमा अनुमति दिने हो?"</string>
<string name="manage_applications" msgid="4033876279091996596">"अनुप्रयोगहरूको व्यवस्थापन गर्नुहोस्"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"अनुप्रयोग विस्थापन गर्ने?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"तपाईँले स्थापना गरिरहनु भएको अनुप्रयोगले अर्कोलाई प्रतिस्थापन गर्ने छ।\n\nतपाईँको पहिलेको सबै प्रयोगकर्ता डेटा बचत हुने छ।"</string>
<string name="dlg_sys_app_replacement_statement" msgid="1900046590819605929">"यो एउटा प्रणाली अनुप्रयोग हो।\n\n तपाईँको पहिलेको सबै डेटा बचत हुने छ।"</string>
<string name="out_of_space_dlg_title" msgid="7843674437613797326">"ठाउँभन्दा बाहिर"</string>
<string name="out_of_space_dlg_text" msgid="4774775404294282216">"<xliff:g id="APP_NAME">%1$s</xliff:g> स्थापन गर्न सकिएन। केही ठाउँ खाली गर्नुहोस् र फेरि कोसिस गर्नुहोस्"</string>
- <string name="dlg_ok" msgid="6944357727705699232">"ठिक छ"</string>
+ <string name="dlg_ok" msgid="6944357727705699232">"ठीक छ"</string>
<string name="app_not_found_dlg_title" msgid="2692335460569505484">"अनुप्रयोग फेला परेन"</string>
<string name="app_not_found_dlg_text" msgid="6107465056055095930">"स्थापना भएको अनुप्रयोगहरू सूचीमा अनुप्रयोग फेला परेको थिएन।"</string>
<string name="uninstall_application_title" msgid="1860074100811653963">"अनुप्रयोग अस्थापना गर्नुहोस्"</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"के तपाईँ यो अनुप्रयोग अस्थापना गर्न चाहनु हुन्छ?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"के तपाईँ यो अनुप्रयोग "<b>"सबै"</b>" प्रयोगकर्ताहरूको लागि स्थापना रद्द गर्न चाहनु हुन्छ? अनुप्रयोग र यसको डेटा "<b>"सबै"</b>" प्रयोगकर्ताहरूबाट उपकरणमा हटाइने छ।"</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"के तपाईँ प्रयोगकर्ता <xliff:g id="USERNAME">%1$s</xliff:g> को लागि यो अनुप्रयोग स्थापना रद्द गर्न चाहनुहुन्छ?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"के तपाईँ यस अनुप्रयोगलाई मूल संस्करणसँग फेर्न चाहनु हुन्छ?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"यस अनुप्रयोगलाई फ्याक्ट्रीको संस्करणले बदल्ने हो? सबै डेटा हटाइनेछ।"</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"यस अनुप्रयोगलाई फ्याक्ट्रीको संस्करणले बदल्ने हो? सबै डेटा हटाइनेछ। यसले यस यन्त्रका कार्य प्रोफाइल भएका लगायत सबै प्रयोगकर्ताहरूमा असर पार्छ।"</string>
<string name="uninstalling" msgid="5556217435895938250">"अस्थापना गर्दै..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"स्थापना रद्द गर्न सकियो।"</string>
<string name="uninstall_failed" msgid="631122574306299512">"अस्थापना गर्न असफल"</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"अस्थापना गर्न सकिँदैन किनभने यो प्याकेज एउटा सक्रिय उपकरण प्रशासक हो।"</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"रद्द गर्न सकिदैन किनभने प्रयोगकर्ता <xliff:g id="USERNAME">%1$s</xliff:g> को लागि यो प्याकेज सक्रिय यन्त्र प्रशासक हो।"</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"यो अनुप्रयोग तपाईँको कार्य प्रोफाइलको लागि आवश्यक छ र यसको स्थापना रद्द गर्न सकिँदैन।"</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"अन्य प्रयोगकर्ताहरूका लागि यस अनु्प्रयोगको स्थापना रद्द गरे पनि केही प्रयोगकर्ता वा प्रोफाइलहरूलाई यसको आवश्यकता पर्दछ"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"यो अनुप्रयोग तपाईँको प्रोफाइलका लागि आवश्यक छ र यसको स्थापनालाई रद्द गर्न सकिँदैन।"</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"यो अनुप्रयोग तपाईँको उपकरण प्रशासकलाई आवश्यक छ र स्थापना रद्द गर्न सकिँदैन।"</string>
<string name="manage_device_administrators" msgid="891392489300312370">"उपकरण प्रशासकहरूको प्रबन्ध गर्नुहोस्"</string>
+ <string name="manage_users" msgid="3125018886835668847">"प्रयोगकर्ताहरूलाई व्यवस्थापन गर्नुहोस्"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> स्थापना रद्द गर्न सकिँदैन।"</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"पार्स त्रुटि"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"प्याकेजलाई पार्सिङ गर्दा एउटा समस्या आयो।"</string>
<string name="newPerms" msgid="6039428254474104210">"नयाँ"</string>
<string name="allPerms" msgid="1024385515840703981">"सबै"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"उपकरण पहुँच"</string>
<string name="no_new_perms" msgid="6657813692169565975">"यस अपडेटलाई नयाँ अनुमति आवश्यक पर्दैन।"</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"के तपाईँ निम्न अनुमति प्रदान गर्न चाहनु हुन्छ? यसले पहुँच पाउने छ:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"अनुमति दिनुहोस्"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"अस्वीकार गर्नुहोस्"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"जे भए पनि अस्वीकार गर्नुहोस्"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g> को <xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"<xliff:g id="APP_NAME">%1$s</xliff:g> लाई <xliff:g id="ACTION">%2$s</xliff:g> गर्न अनुमति दिने हो?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; लाई <xliff:g id="ACTION">%2$s</xliff:g> गर्न अनुमति दिने हो?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"अनुमति दिनुहोस्"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"अनुप्रयोगहरू"</string>
<string name="app_permissions" msgid="3146758905824597178">"अनुप्रयोग अनुमतिहरू"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"फेरि कहिल्यै नसोध्नुहोस्"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"फेरि नसोध्नुहोस्"</string>
<string name="no_permissions" msgid="3210542466245591574">"कुनै अनुमतिहरू छैनन्"</string>
<string name="additional_permissions" msgid="6667573114240111763">"अतिरिक्त अनुमतिहरू"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"यो अनुमति सेटिङ परिवर्तन गर्न, तपाईँले पहिला सेटिङ अनुप्रयोगबाट स्क्रिन ओभरले बन्द गर्नु पर्दछ।"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"सेटिङहरू खोल्नुहोस्"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Wear मा स्थापना/स्थापना रद्द गर्ने कार्यहरू समर्थित छैनन्।"</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Wear मा स्थापना/स्थापना रद्द गर्ने कारबाहीहरू समर्थित छैनन्।"</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> अद्यावधिक गरिएको छ। <xliff:g id="APP_NAME_1">%1$s</xliff:g> लाई निम्न वस्तु पहुँच गर्न अनुमति दिने हो?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"<xliff:g id="APP_NAME">%1$s</xliff:g> लाई के पहुँच गर्न अनुमति दिने छनौट गर्नुहोस्"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> अद्यावधिक गरिएको छ। यस अनुप्रयोगलाई के पहुँच गर्न अनुमति दिने छान्‍नुहोस्।"</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"रद्द गर्नुहोस्"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"जारी राख्नुहोस्"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"नयाँ अनुमतिहरू"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"वर्तमान अनुमतिहरू"</string>
+ <string name="message_staging" msgid="6151794817691100003">"अनुप्रयोगलाई तयार पार्दै…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"अज्ञात"</string>
</resources>
diff --git a/res/values-nl-television/strings.xml b/res/values-nl-television/strings.xml
index 671d58e3..ae360182 100644
--- a/res/values-nl-television/strings.xml
+++ b/res/values-nl-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"U kunt dit later wijzigen in \'Instellingen\' &gt; \'Apps\'"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Systeem-apps weergeven"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"App-machtigingen"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"App-machtigingen"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Rechten voor <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Aanvullende rechten"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Rechten voor <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index c2c3fe4b..069f97ec 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Wilt u een update voor deze bestaande app installeren? Je huidige gegevens gaan niet verloren. Hiervoor is geen speciale toegang vereist."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Wilt u een update voor deze ingebouwde app installeren? Je huidige gegevens gaan niet verloren. Hiervoor is geen speciale toegang vereist."</string>
<string name="install_failed" msgid="6579998651498970899">"App niet geïnstalleerd."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"De installatie van het pakket is geblokkeerd."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Het pakket conflicteert met een bestaand pakket met dezelfde naam."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Deze app is niet compatibel met je tablet."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Deze app is niet compatibel met je tv."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Deze app is niet compatibel met je telefoon."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Het pakket lijkt beschadigd."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Een bestaand pakket met dezelfde naam en een conflicterende handtekening is al geïnstalleerd."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Het pakket werkt alleen met nieuwe versies van Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Deze app is niet compatibel met je tablet."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Deze app is niet compatibel met je tv."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Deze app is niet compatibel met je telefoon."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Het opgegeven pakket is verwijderd voordat de installatie was voltooid."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"De verificatie van het pakket is niet voltooid. Het pakket kan niet worden geïnstalleerd."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Tijdens het verifiëren van dit pakket is een time-out opgetreden. Installeer het pakket later."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> kan niet worden geïnstalleerd op je tablet."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> kan niet worden geïnstalleerd op je tv."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g> kan niet worden geïnstalleerd op je telefoon."</string>
<string name="launch" msgid="4826921505917605463">"Openen"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"De installatie is geblokkeerd"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Voor de veiligheid blokkeert je tablet de installatie van apps uit onbekende bronnen."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Om veiligheidsredenen is je tv ingesteld om de installatie te blokkeren van apps die zijn verkregen van onbekende bronnen."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Voor de veiligheid blokkeert je telefoon de installatie van apps uit onbekende bronnen."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Je beheerder staat de installatie van apps afkomstig van onbekende bronnen niet toe."</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"Instellingen"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Nieuwe bron voor apps"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> wil andere apps installeren.\n\nWilt u dit nu en in de toekomst toestaan?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Apps beheren"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"App vervangen?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"De app die u installeert, vervangt een andere app.\n\nAl je eerdere gebruikersgegevens worden opgeslagen."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Wilt u deze app verwijderen?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Wilt u deze app verwijderen voor "<b>"alle"</b>" gebruikers? Deze app en de gegevens ervan worden verwijderd voor "<b>"alle"</b>" gebruikers van het apparaat."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Wilt u deze app verwijderen voor de gebruiker <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Wilt u deze app vervangen door de fabrieksversie?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Deze app vervangen door de fabrieksversie? Alle gegevens worden verwijderd."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Deze app vervangen door de fabrieksversie? Alle gegevens worden verwijderd. Dit geldt voor alle gebruikers van het apparaat, dus ook voor gebruikers met een werkprofiel."</string>
<string name="uninstalling" msgid="5556217435895938250">"Verwijderen..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Verwijdering voltooid."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Verwijdering mislukt."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Kan niet verwijderen omdat dit pakket een actieve apparaatbeheerder is."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Kan dit pakket niet verwijderen omdat het een actieve apparaatbeheerder is voor de gebruiker <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Deze app is vereist voor je werkprofiel en kan niet worden verwijderd."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Deze app is vereist voor sommige gebruikers of profielen en is verwijderd voor andere"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Deze app is vereist voor je profiel en kan niet worden verwijderd."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Deze app is vereist door je apparaatbeheerder en kan niet worden verwijderd."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Apparaatbeheerders beheren"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Gebruikers beheren"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> kan niet worden verwijderd."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Parseerfout"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Er is een probleem opgetreden bij het parseren van het pakket."</string>
<string name="newPerms" msgid="6039428254474104210">"Nieuw"</string>
<string name="allPerms" msgid="1024385515840703981">"Alle"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Apparaattoegang"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Voor deze update zijn geen nieuwe machtigingen vereist."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Wilt u de volgende machtigingen verlenen? Hiermee kan toegang worden verkregen tot:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Toestaan"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Weigeren"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Toch weigeren"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> van <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Toestaan dat <xliff:g id="APP_NAME">%1$s</xliff:g> het volgende doet: <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; het volgende toestaan: <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Toestaan"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Apps"</string>
<string name="app_permissions" msgid="3146758905824597178">"App-machtigingen"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Niet meer vragen"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Niet meer vragen"</string>
<string name="no_permissions" msgid="3210542466245591574">"Geen rechten"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Aanvullende rechten"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Als u deze instelling voor rechten wilt wijzigen, moet u eerst de schermoverlay uitschakelen via \'Instellingen\' &gt; \'Apps\'"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Instellingen openen"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Acties voor installeren/verwijderen niet ondersteund op Wear"</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Acties voor installeren/verwijderen niet ondersteund op Wear."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> is geüpdatet. Wil je <xliff:g id="APP_NAME_1">%1$s</xliff:g> toegang geven tot het volgende?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Kiezen waartoe <xliff:g id="APP_NAME">%1$s</xliff:g> toegang krijgt"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> is geüpdatet. Kies waartoe je deze app toegang wilt geven."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Annuleren"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Doorgaan"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Nieuwe rechten"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Huidige rechten"</string>
+ <string name="message_staging" msgid="6151794817691100003">"App uitvoeren…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Onbekend"</string>
</resources>
diff --git a/res/values-pa-rIN-television/strings.xml b/res/values-pa-rIN-television/strings.xml
index cebc66fe..e43a77e0 100644
--- a/res/values-pa-rIN-television/strings.xml
+++ b/res/values-pa-rIN-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"ਤੁਸੀਂ ਇਸਨੂੰ ਬਾਅਦ ਵਿੱਚ ਸੈਟਿੰਗਾਂ &gt; ਐਪਸ ਵਿੱਚ ਬਦਲ ਸਕਦੇ ਹੋ"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"ਸਿਸਟਮ ਐਪਸ ਦਿਖਾਓ"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"ਐਪ ਇਜਾਜ਼ਤਾਂ"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"ਐਪ ਇਜਾਜ਼ਤਾਂ"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> ਇਜਾਜ਼ਤਾਂ"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"ਵਾਧੂ ਇਜਾਜ਼ਤਾਂ"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> ਇਜਾਜ਼ਤਾਂ"</string>
</resources>
diff --git a/res/values-pa-rIN/strings.xml b/res/values-pa-rIN/strings.xml
index ec19acb5..7799286f 100644
--- a/res/values-pa-rIN/strings.xml
+++ b/res/values-pa-rIN/strings.xml
@@ -17,7 +17,7 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="2738748390251381682">"ਪੈਕੇਜ ਇੰਸਟੌਲਰ"</string>
- <string name="next" msgid="3057143178373252333">"ਅਗਲਾ"</string>
+ <string name="next" msgid="3057143178373252333">"ਅੱਗੇ"</string>
<string name="install" msgid="5896438203900042068">"ਇੰਸਟੌਲ ਕਰੋ"</string>
<string name="done" msgid="3889387558374211719">"ਹੋ ਗਿਆ"</string>
<string name="security_settings_desc" msgid="2706691034244052604">"ਇਸ ਐਪ ਨੂੰ ਇਹ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ:"</string>
@@ -27,37 +27,31 @@
<string name="install_done" msgid="3682715442154357097">"ਐਪ ਇੰਸਟੌਲ ਕੀਤਾ।"</string>
<string name="install_confirm_question" msgid="7295206719219043890">"ਕੀ ਤੁਸੀਂ ਇਹ ਐਪਲੀਕੇਸ਼ਨ ਇੰਸਟੌਲ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ? ਇਹ ਇਸ ਤੱਕ ਪਹੁੰਚ ਪ੍ਰਾਪਤ ਕਰੇਗਾ:"</string>
<string name="install_confirm_question_no_perms" msgid="5918305641302873520">"ਕੀ ਤੁਸੀਂ ਇਸ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਇੰਸਟੌਲ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ? ਇਸ ਲਈ ਕਿਸੇ ਖ਼ਾਸ ਪਹੁੰਚ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ।"</string>
- <string name="install_confirm_question_update" msgid="4624159567361487964">"ਕੀ ਤੁਸੀਂ ਇਸ ਮੌਜੂਦਾ ਐਪਲੀਕੇਸ਼ਨ ਤੇ ਇੱਕ ਅਪਡੇਟ ਇੰਸਟੌਲ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ? ਤੁਹਾਡਾ ਮੌਜੂਦਾ ਡਾਟਾ ਨਸ਼ਟ ਕੀਤਾ ਜਾਏਗਾ। ਅਪਡੇਟ ਕੀਤੀ ਐਪਲੀਕੇਸ਼ਨ ਇਸ ਤੱਕ ਪਹੁੰਚ ਪ੍ਰਾਪਤ ਕਰੇਗੀ:"</string>
- <string name="install_confirm_question_update_system" msgid="1302330093676416336">"ਕੀ ਤੁਸੀਂ ਇਸ ਬਿਲਟ-ਇਨ ਐਪਲੀਕੇਸ਼ਨ ਤੇ ਇੱਕ ਅਪਡੇਟ ਇੰਸਟੌਲ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ? ਤੁਹਾਡਾ ਮੌਜੂਦਾ ਡਾਟਾ ਨਸ਼ਟ ਕੀਤਾ ਜਾਏਗਾ। ਅਪਡੇਟ ਕੀਤੀ ਐਪਲੀਕੇਸ਼ਨ ਇਸ ਤੱਕ ਪਹੁੰਚ ਪ੍ਰਾਪਤ ਕਰੇਗੀ:"</string>
- <string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"ਕੀ ਤੁਸੀਂ ਇਸ ਮੌਜੂਦਾ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਇੱਕ ਅਪਡੇਟ ਇੰਸਟੌਲ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ? ਤੁਹਾਡਾ ਮੌਜੂਦਾ ਡਾਟਾ ਨਸ਼ਟ ਨਹੀਂ ਹੋਵੇਗਾ। ਇਸ ਲਈ ਕਿਸੇ ਖ਼ਾਸ ਪਹੁੰਚ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ।"</string>
- <string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"ਕੀ ਤੁਸੀਂ ਇਸ ਬਿਲਟ-ਇਨ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਇੱਕ ਅਪਡੇਟ ਇੰਸਟੌਲ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ? ਤੁਹਾਡਾ ਮੌਜੂਦਾ ਡਾਟਾ ਨਸ਼ਟ ਨਹੀਂ ਹੋਵੇਗਾ। ਇਸ ਲਈ ਕਿਸੇ ਖ਼ਾਸ ਪਹੁੰਚ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ।"</string>
+ <string name="install_confirm_question_update" msgid="4624159567361487964">"ਕੀ ਤੁਸੀਂ ਇਸ ਮੌਜੂਦਾ ਐਪਲੀਕੇਸ਼ਨ ਤੇ ਇੱਕ ਅਪਡੇਟ ਇੰਸਟੌਲ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ? ਤੁਹਾਡਾ ਮੌਜੂਦਾ ਡੈਟਾ ਨਸ਼ਟ ਕੀਤਾ ਜਾਏਗਾ। ਅਪਡੇਟ ਕੀਤੀ ਐਪਲੀਕੇਸ਼ਨ ਇਸ ਤੱਕ ਪਹੁੰਚ ਪ੍ਰਾਪਤ ਕਰੇਗੀ:"</string>
+ <string name="install_confirm_question_update_system" msgid="1302330093676416336">"ਕੀ ਤੁਸੀਂ ਇਸ ਬਿਲਟ-ਇਨ ਐਪਲੀਕੇਸ਼ਨ ਤੇ ਇੱਕ ਅਪਡੇਟ ਇੰਸਟੌਲ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ? ਤੁਹਾਡਾ ਮੌਜੂਦਾ ਡੈਟਾ ਨਸ਼ਟ ਕੀਤਾ ਜਾਏਗਾ। ਅਪਡੇਟ ਕੀਤੀ ਐਪਲੀਕੇਸ਼ਨ ਇਸ ਤੱਕ ਪਹੁੰਚ ਪ੍ਰਾਪਤ ਕਰੇਗੀ:"</string>
+ <string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"ਕੀ ਤੁਸੀਂ ਇਸ ਮੌਜੂਦਾ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਇੱਕ ਅਪਡੇਟ ਇੰਸਟੌਲ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ? ਤੁਹਾਡਾ ਮੌਜੂਦਾ ਡੈਟਾ ਨਸ਼ਟ ਨਹੀਂ ਹੋਵੇਗਾ। ਇਸ ਲਈ ਕਿਸੇ ਖ਼ਾਸ ਪਹੁੰਚ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ।"</string>
+ <string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"ਕੀ ਤੁਸੀਂ ਇਸ ਬਿਲਟ-ਇਨ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਇੱਕ ਅਪਡੇਟ ਇੰਸਟੌਲ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ? ਤੁਹਾਡਾ ਮੌਜੂਦਾ ਡੈਟਾ ਨਸ਼ਟ ਨਹੀਂ ਹੋਵੇਗਾ। ਇਸ ਲਈ ਕਿਸੇ ਖ਼ਾਸ ਪਹੁੰਚ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ।"</string>
<string name="install_failed" msgid="6579998651498970899">"ਐਪ ਇੰਸਟੌਲ ਨਹੀਂ ਕੀਤਾ।"</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"ਪੈਕੇਜ ਨੂੰ ਸਥਾਪਿਤ ਹੋਣ ਤੋਂ ਬਲੌਕ ਕੀਤਾ ਗਿਆ ਸੀ।"</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"ਪੈਕੇਜ ਦਾ ਇਸ ਦੇ ਨਾਮ ਨਾਲ ਮੇਲ ਖਾਂਦੇ ਇੱਕ ਮੌਜੂਦਾ ਪੈਕੇਜ ਨਾਲ ਅਪਵਾਦ ਹੈ।"</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"ਇਹ ਐਪ ਤੁਹਾਡੇ ਟੈਬਲੇਟ ਦੇ ਅਨੁਕੂਲ ਨਹੀਂ ਹੈ।"</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"ਇਹ ਐਪ ਤੁਹਾਡੇ ਟੀਵੀ ਦੇ ਅਨੁਕੂਲ ਨਹੀਂ ਹੈ।"</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"ਇਹ ਐਪ ਤੁਹਾਡੇ ਫ਼ੋਨ ਦੇ ਅਨੁਕੂਲ ਨਹੀਂ ਹੈ।"</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"ਪੈਕੇਜ ਕਰਪਟ ਹੋ ਗਿਆ ਜਾਪਦਾ ਹੈ।"</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"ਇੱਕ ਵਿਪਰੀਤ ਹਸਤਾਖਰ ਨਾਲ ਸਮਾਨ ਨਾਮ ਵਾਲਾ ਇੱਕ ਮੌਜੂਦਾ ਪੈਕੇਜ ਪਹਿਲਾਂ ਹੀ ਇੰਸਟੌਲ ਕੀਤਾ ਹੋਇਆ ਹੈ।"</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"ਪੈਕੇਜ Android ਦੇ ਕੇਵਲ ਨਵੇਂ ਵਰਜਨਾਂ ਤੇ ਕੰਮ ਕਰਦਾ ਹੈ।"</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"ਇਹ ਐਪ ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਦੇ ਅਨੁਕੂਲ ਨਹੀਂ ਹੈ।"</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"ਇਹ ਐਪ ਤੁਹਾਡੇ TV ਦੇ ਅਨੁਕੂਲ ਨਹੀਂ ਹੈ।"</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"ਇਹ ਐਪ ਤੁਹਾਡੇ ਫੋਨ ਦੇ ਅਨੁਕੂਲ ਨਹੀਂ ਹੈ।"</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"ਨਿਰਦਿਸ਼ਟ ਕੀਤਾ ਪੈਕੇਜ ਇੰਸਟੌਲੇਸ਼ਨ ਪੂਰੀ ਕੀਤੀ ਜਾ ਸਕਣ ਤੋਂ ਪਹਿਲਾਂ ਹੀ ਮਿਟਾ ਦਿੱਤਾ ਗਿਆ ਸੀ।"</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"ਪੈਕੇਜ ਨੇ ਜਾਂਚ ਪਾਸ ਨਹੀਂ ਕੀਤੀ ਅਤੇ ਇਸਨੂੰ ਇੰਸਟੌਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ।"</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"ਇਸ ਪੈਕੇਜ ਦੀ ਜਾਂਚ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ ਕਰਨ ਵੇਲੇ ਇੱਕ ਟਾਈਮਆਊਟ ਵਾਪਰਿਆ। ਇਸਨੂੰ ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਇੰਸਟੌਲ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਨੂੰ ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਤੇ ਇੰਸਟੌਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ।"</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਨੂੰ ਤੁਹਾਡੇ TV ਤੇ ਇੰਸਟੌਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ।"</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਨੂੰ ਤੁਹਾਡੇ ਫੋਨ ਤੇ ਇੰਸਟੌਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ।"</string>
<string name="launch" msgid="4826921505917605463">"ਖੋਲ੍ਹੋ"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"ਇੰਸਟੌਲ ਬਲੌਕ ਕੀਤੀ"</string>
- <string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"ਸੁਰੱਖਿਆ ਲਈ, ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਅਗਿਆਤ ਸ੍ਰੋਤਾਂ ਤੋਂ ਪ੍ਰਾਪਤ ਕੀਤੇ ਐਪਸ ਦੀ ਇੰਸਟੌਲੇਸ਼ਨ ਬਲੌਕ ਕਰਨ ਲਈ ਸੈਟ ਕੀਤਾ ਹੋਇਆ ਹੈ।"</string>
- <string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"ਸੁਰੱਖਿਆ ਲਈ, ਤੁਹਾਡਾ TV ਅਗਿਆਤ ਸ੍ਰੋਤਾਂ ਵੱਲੋਂ ਪ੍ਰਾਪਤ ਕੀਤੇ ਐਪਸ ਦੀ ਇੰਸਟੌਲੇਸ਼ਨ ਬਲੌਕ ਕਰਨ ਲਈ ਸੈਟ ਕੀਤਾ ਹੋਇਆ ਹੈ।"</string>
- <string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"ਸੁਰੱਖਿਆ ਲਈ, ਤੁਹਾਡਾ ਫੋਨ ਅਗਿਆਤ ਸ੍ਰੋਤਾਂ ਤੋਂ ਪ੍ਰਾਪਤ ਕੀਤੇ ਐਪਸ ਦੀ ਇੰਸਟੌਲੇਸ਼ਨ ਬਲੌਕ ਕਰਨ ਲਈ ਸੈਟ ਕੀਤਾ ਹੋਇਆ ਹੈ।"</string>
- <string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"ਤੁਹਾਡਾ ਪ੍ਰਬੰਧਕ ਅਗਿਆਤ ਸ੍ਰੋਤਾਂ ਤੋਂ ਪ੍ਰਾਪਤ ਕੀਤੇ ਐਪਸ ਦੀ ਇੰਸਟੌਲੇਸ਼ਨ ਦੀ ਆਗਿਆ ਨਹੀਂ ਦਿੰਦਾ।"</string>
+ <string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"ਸੁਰੱਖਿਆ ਲਈ, ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਅਗਿਆਤ ਸਰੋਤਾਂ ਤੋਂ ਪ੍ਰਾਪਤ ਕੀਤੇ ਐਪਸ ਦੀ ਇੰਸਟੌਲੇਸ਼ਨ ਬਲੌਕ ਕਰਨ ਲਈ ਸੈੱਟ ਕੀਤਾ ਗਿਆ ਹੋਇਆ ਹੈ।"</string>
+ <string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"ਸੁਰੱਖਿਆ ਲਈ, ਤੁਹਾਡਾ TV ਅਗਿਆਤ ਸਰੋਤਾਂ ਵੱਲੋਂ ਪ੍ਰਾਪਤ ਕੀਤੇ ਐਪਸ ਦੀ ਇੰਸਟੌਲੇਸ਼ਨ ਬਲੌਕ ਕਰਨ ਲਈ ਸੈੱਟ ਕੀਤਾ ਗਿਆ ਹੋਇਆ ਹੈ।"</string>
+ <string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"ਸੁਰੱਖਿਆ ਲਈ, ਤੁਹਾਡਾ ਫੋਨ ਅਗਿਆਤ ਸਰੋਤਾਂ ਤੋਂ ਪ੍ਰਾਪਤ ਕੀਤੇ ਐਪਸ ਦੀ ਇੰਸਟੌਲੇਸ਼ਨ ਬਲੌਕ ਕਰਨ ਲਈ ਸੈੱਟ ਕੀਤਾ ਗਿਆ ਹੋਇਆ ਹੈ।"</string>
+ <string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"ਤੁਹਾਡਾ ਪ੍ਰਸ਼ਾਸਕ ਅਗਿਆਤ ਸਰੋਤਾਂ ਤੋਂ ਪ੍ਰਾਪਤ ਕੀਤੀਆਂ ਐਪਾਂ ਦੀ ਸਥਾਪਨਾ ਦੀ ਆਗਿਆ ਨਹੀਂ ਦਿੰਦਾ।"</string>
<string name="ok" msgid="3468756155452870475">"ਠੀਕ"</string>
<string name="settings" msgid="6743583734099755409">"ਸੈਟਿੰਗਾਂ"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"ਐਪਸ ਲਈ ਨਵਾਂ ਸ੍ਰੋਤ"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਹੋਰ ਐਪਸ ਇੰਸਟੌਲ ਕਰਨਾ ਚਾਹੁੰਦਾ ਹੈ।\n\nਕੀ ਇਸਨੂੰ ਹੁਣ ਅਤੇ ਭਵਿੱਖ ਵਿੱਚ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string>
<string name="manage_applications" msgid="4033876279091996596">"ਐਪਸ ਵਿਵਸਥਿਤ ਕਰੋ"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"ਕੀ ਐਪ ਬਦਲਣਾ ਹੈ?"</string>
- <string name="dlg_app_replacement_statement" msgid="2992911899989907492">"ਜੋ ਐਪ ਤੁਸੀਂ ਇੰਸਟੌਲ ਕਰ ਰਹੇ ਹੋ, ਉਹ ਦੂਜੇ ਐਪ ਨਾਲ ਬਦਲ ਜਾਏਗਾ।\n\nਤੁਹਾਡਾ ਪਿਛਲਾ ਸਾਰਾ ਉਪਭੋਗਤਾ ਡਾਟਾ ਸੁਰੱਖਿਅਤ ਕੀਤਾ ਜਾਏਗਾ।"</string>
- <string name="dlg_sys_app_replacement_statement" msgid="1900046590819605929">"ਇਹ ਇੱਕ ਸਿਸਟਮ ਐਪ ਹੈ।\n\nਤੁਹਾਡਾ ਸਾਰਾ ਪਿਛਲਾ ਉਪਭੋਗਤਾ ਡਾਟਾ ਸੁਰੱਖਿਅਤ ਕੀਤਾ ਜਾਏਗਾ।"</string>
+ <string name="dlg_app_replacement_statement" msgid="2992911899989907492">"ਜੋ ਐਪ ਤੁਸੀਂ ਇੰਸਟੌਲ ਕਰ ਰਹੇ ਹੋ, ਉਹ ਦੂਜੇ ਐਪ ਨਾਲ ਬਦਲ ਜਾਏਗਾ।\n\nਤੁਹਾਡਾ ਪਿਛਲਾ ਸਾਰਾ ਉਪਭੋਗਤਾ ਡੈਟਾ ਸੁਰੱਖਿਅਤ ਕੀਤਾ ਜਾਏਗਾ।"</string>
+ <string name="dlg_sys_app_replacement_statement" msgid="1900046590819605929">"ਇਹ ਇੱਕ ਸਿਸਟਮ ਐਪ ਹੈ।\n\nਤੁਹਾਡਾ ਸਾਰਾ ਪਿਛਲਾ ਉਪਭੋਗਤਾ ਡੈਟਾ ਸੁਰੱਖਿਅਤ ਕੀਤਾ ਜਾਏਗਾ।"</string>
<string name="out_of_space_dlg_title" msgid="7843674437613797326">"ਖਾਲੀ ਸਪੇਸ"</string>
<string name="out_of_space_dlg_text" msgid="4774775404294282216">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਇੰਸਟੌਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ। ਕੁਝ ਸਪੇਸ ਖਾਲੀ ਕਰੋ ਅਤੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
<string name="dlg_ok" msgid="6944357727705699232">"ਠੀਕ"</string>
@@ -67,33 +61,36 @@
<string name="uninstall_update_title" msgid="4146940097553335390">"ਅਪਡੇਟ ਅਣਇੰਸਟੌਲ ਕਰੋ"</string>
<string name="uninstall_activity_text" msgid="6680688689803932550">"<xliff:g id="ACTIVITY_NAME">%1$s</xliff:g> ਇਸ ਐਪ ਦਾ ਭਾਗ ਹੈ:"</string>
<string name="uninstall_application_text" msgid="6691975835951187030">"ਕੀ ਤੁਸੀਂ ਇਸ ਐਪ ਨੂੰ ਅਣਇੰਸਟੌਲ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"</string>
- <string name="uninstall_application_text_all_users" msgid="5574704453233525222">"ਕੀ ਤੁਸੀਂ ਇਸ ਐਪ ਨੂੰ "<b>"ਸਾਰੇ"</b>" ਉਪਭੋਗਤਾਵਾਂ ਲਈ ਅਣਇੰਸਟੌਲ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ? ਐਪਲੀਕੇਸ਼ਨ ਅਤੇ ਇਸਦਾ ਡਾਟਾ ਡਿਵਾਈਸ ਤੇ "<b>"ਸਾਰੇ"</b>" ਉਪਭੋਗਤਾਵਾਂ ਵੱਲੋਂ ਹਟਾ ਦਿੱਤਾ ਜਾਏਗਾ।"</string>
+ <string name="uninstall_application_text_all_users" msgid="5574704453233525222">"ਕੀ ਤੁਸੀਂ ਇਸ ਐਪ ਨੂੰ "<b>"ਸਾਰੇ"</b>" ਉਪਭੋਗਤਾਵਾਂ ਲਈ ਅਣਇੰਸਟੌਲ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ? ਐਪਲੀਕੇਸ਼ਨ ਅਤੇ ਇਸਦਾ ਡੈਟਾ ਡੀਵਾਈਸ ਤੇ "<b>"ਸਾਰੇ"</b>" ਉਪਭੋਗਤਾਵਾਂ ਵੱਲੋਂ ਹਟਾ ਦਿੱਤਾ ਜਾਏਗਾ।"</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"ਕੀ ਤੁਸੀਂ ਉਪਭੋਗਤਾ <xliff:g id="USERNAME">%1$s</xliff:g> ਲਈ ਇਸ ਐਪ ਨੂੰ ਅਣਇੰਸਟੌਲ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"ਕੀ ਤੁਸੀਂ ਫੈਕਟਰੀ ਵਰਜਨ ਵਾਲੇ ਇਸ ਐਪ ਨੂੰ ਬਦਲਣਾ ਚਾਹੁੰਦੇ ਹੋ?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"ਕੀ ਇਸ ਐਪ ਨੂੰ ਫੈਕਟਰੀ ਸੰਸਕਰਣ ਨਾਲ ਬਦਲਣਾ ਹੈ? ਸਾਰਾ ਡੈਟਾ ਹਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ।"</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"ਕੀ ਇਸ ਐਪ ਨੂੰ ਫੈਕਟਰੀ ਸੰਸਕਰਣ ਨਾਲ ਬਦਲਣਾ ਹੈ? ਸਾਰਾ ਡੈਟਾ ਹਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ। ਇਹ ਇਸ ਡੀਵਾਈਸ ਦੇ ਸਾਰੇ ਵਰਤੋਂਕਾਰਾਂ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇਗਾ, ਜਿਸ ਵਿੱਚ ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਵਾਲੇ ਵਰਤੋਂਕਾਰ ਵੀ ਸ਼ਾਮਲ ਹਨ।"</string>
<string name="uninstalling" msgid="5556217435895938250">"ਅਣਇੰਸਟੌਲ ਕਰ ਰਿਹਾ ਹੈ…"</string>
<string name="uninstall_done" msgid="3792487853420281888">"ਅਣਇੰਸਟੌਲ ਪੂਰਾ ਹੋਇਆ।"</string>
<string name="uninstall_failed" msgid="631122574306299512">"ਅਣਇੰਸਟੌਲ ਅਸਫਲ।"</string>
- <string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"ਅਣਇੰਸਟੌਲ ਨਹੀਂ ਕਰ ਸਕਦਾ ਕਿਉਂਕਿ ਇਹ ਪੈਕੇਜ ਇੱਕ ਸਕਿਰਿਆ ਡਿਵਾਈਸ ਪ੍ਰਬੰਧਕ ਹੈ।"</string>
- <string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"ਅਣਇੰਸਟੌਲ ਨਹੀਂ ਕਰ ਸਕਦਾ ਕਿਉਂਕਿ ਇਹ ਪੈਕੇਜ ਉਪਭੋਗਤਾ <xliff:g id="USERNAME">%1$s</xliff:g> ਲਈ ਇੱਕ ਸਕਿਰਿਆ ਡਿਵਾਈਸ ਪ੍ਰਬੰਧਕ ਹੈ।"</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"ਇਹ ਐਪ ਤੁਹਾਡੀ ਤੁਹਾਡੇ ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਲਈ ਲੋੜੀਂਦੀ ਹੈ ਅਤੇ ਇਸਦੀ ਸਥਾਪਨਾ ਰੱਦ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ।"</string>
- <string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"ਇਹ ਐਪ ਤੁਹਾਡੇ ਡਿਵਾਈਸ ਪ੍ਰਬੰਧਕ ਵੱਲੋਂ ਲੁੜੀਂਦਾ ਹੈ ਅਤੇ ਇਸਨੂੰ ਅਣਇੰਸਟੌਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ।"</string>
- <string name="manage_device_administrators" msgid="891392489300312370">"ਡਿਵਾਈਸ ਪ੍ਰਬੰਧਕਾਂ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰੋ"</string>
+ <string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"ਅਣਇੰਸਟੌਲ ਨਹੀਂ ਕਰ ਸਕਦਾ ਕਿਉਂਕਿ ਇਹ ਪੈਕੇਜ ਇੱਕ ਸਕਿਰਿਆ ਡੀਵਾਈਸ ਪ੍ਰਬੰਧਕ ਹੈ।"</string>
+ <string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"ਅਣਇੰਸਟੌਲ ਨਹੀਂ ਕਰ ਸਕਦਾ ਕਿਉਂਕਿ ਇਹ ਪੈਕੇਜ ਉਪਭੋਗਤਾ <xliff:g id="USERNAME">%1$s</xliff:g> ਲਈ ਇੱਕ ਸਕਿਰਿਆ ਡੀਵਾਈਸ ਪ੍ਰਬੰਧਕ ਹੈ।"</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"ਇਹ ਐਪ ਕੁਝ ਵਰਤੋਂਕਾਰਾਂ ਜਾਂ ਪ੍ਰੋਫਾਈਲਾਂ ਲਈ ਲੋੜੀਂਦੀ ਹੈ ਅਤੇ ਹੋਰਾਂ ਲਈ ਅਣਸਥਾਪਤ ਕੀਤੀ ਗਈ ਸੀ"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"ਇਹ ਐਪ ਤੁਹਾਡੀ ਪ੍ਰੋਫਾਈਲ ਲਈ ਲੋੜੀਂਦੀ ਹੈ ਅਤੇ ਇਸ ਨੂੰ ਅਣਸਥਾਪਤ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ।"</string>
+ <string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"ਇਹ ਐਪ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਪ੍ਰਬੰਧਕ ਵੱਲੋਂ ਲੁੜੀਂਦਾ ਹੈ ਅਤੇ ਇਸਨੂੰ ਅਣਇੰਸਟੌਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ।"</string>
+ <string name="manage_device_administrators" msgid="891392489300312370">"ਡੀਵਾਈਸ ਪ੍ਰਬੰਧਕਾਂ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰੋ"</string>
+ <string name="manage_users" msgid="3125018886835668847">"ਵਰਤੋਂਕਾਰਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਅਣਇੰਸਟੌਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ।"</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"ਪਾਰਸ ਅਸ਼ੁੱਧੀ"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"ਪੈਕੇਜ ਨੂੰ ਪਾਰਸ ਕਰਨ ਵਿੱਚ ਇੱਕ ਸਮੱਸਿਆ ਸੀ।"</string>
<string name="newPerms" msgid="6039428254474104210">"ਨਵਾਂ"</string>
<string name="allPerms" msgid="1024385515840703981">"ਸਭ"</string>
<string name="privacyPerms" msgid="1850527049572617">"ਪ੍ਰਾਈਵੇਸੀ"</string>
- <string name="devicePerms" msgid="6733560207731294504">"ਡਿਵਾਈਸ ਪਹੁੰਚ"</string>
+ <string name="devicePerms" msgid="6733560207731294504">"ਡੀਵਾਈਸ ਪਹੁੰਚ"</string>
<string name="no_new_perms" msgid="6657813692169565975">"ਇਸ ਅਪਡੇਟ ਲਈ ਕਿਸੇ ਨਵੀਆਂ ਅਨੁਮਤੀਆਂ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ।"</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"ਕੀ ਤੁਸੀਂ ਇਹ ਅਨੁਮਤੀਆਂ ਮਨਜ਼ੂਰ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ? ਇਹ ਇਸ ਤੱਕ ਪਹੁੰਚ ਪ੍ਰਾਪਤ ਕਰੇਗਾ:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"ਆਗਿਆ ਦਿਓ"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"ਅਸਵੀਕਾਰ ਕਰੋ"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"ਫੇਰ ਵੀ ਅਸਵੀਕਾਰ ਕਰੋ"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g> ਦਾ <xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"ਕੀ <xliff:g id="APP_NAME">%1$s</xliff:g> ਨੂੰ <xliff:g id="ACTION">%2$s</xliff:g> ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string>
- <string name="app_permissions_breadcrumb" msgid="3390836200791539264">"ਐਪਸ"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"ਕੀ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ਨੂੰ <xliff:g id="ACTION">%2$s</xliff:g> ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"ਆਗਿਆ ਦਿਓ"</string>
+ <string name="app_permissions_breadcrumb" msgid="3390836200791539264">"ਐਪਾਂ"</string>
<string name="app_permissions" msgid="3146758905824597178">"ਐਪ ਅਨੁਮਤੀਆਂ"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"ਦੁਬਾਰਾ ਕਦੇ ਨਾ ਪੁੱਛਣਾ"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"ਦੁਬਾਰਾ ਨਾ ਪੁੱਛੋ"</string>
<string name="no_permissions" msgid="3210542466245591574">"ਕੋਈ ਅਨੁਮਤੀਆਂ ਨਹੀਂ ਹਨ"</string>
<string name="additional_permissions" msgid="6667573114240111763">"ਅਤਿਰਿਕਤ ਅਨੁਮਤੀਆਂ"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -106,10 +103,10 @@
<string name="menu_show_system" msgid="6773743421743728921">"ਸਿਸਟਮ ਦਿਖਾਓ"</string>
<string name="menu_hide_system" msgid="7595471742649432977">"ਸਿਸਟਮ ਲੁਕਾਓ"</string>
<string name="permission_title" msgid="6495415273398916381">"<xliff:g id="PERMISSION">%1$s</xliff:g> ਅਨੁਮਤੀਆਂ"</string>
- <string name="no_apps" msgid="1965493419005012569">"ਕੋਈ ਐਪਸ ਨਹੀਂ"</string>
+ <string name="no_apps" msgid="1965493419005012569">"ਕੋਈ ਐਪਾਂ ਨਹੀਂ"</string>
<string name="location_settings" msgid="1774875730854491297">"ਸਥਿਤੀ ਸੈਟਿੰਗਾਂ"</string>
- <string name="location_warning" msgid="8778701356292735971">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਇਸ ਡਿਵਾਈਸ ਲਈ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਸੇਵਾਵਾਂ ਦਾ ਇੱਕ ਪ੍ਰਦਾਤਾ ਹੈ। ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਪਹੁੰਚ ਨੂੰ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਸੈਟਿੰਗਾਂ ਤੋਂ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।"</string>
- <string name="system_warning" msgid="7103819124542305179">"ਜੇਕਰ ਤੁਸੀਂ ਇਸ ਅਨੁਮਤੀ ਨੂੰ ਅਸਵੀਕਾਰ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁੁਹਾਡੀ ਡਿਵਾਈਸ ਦੀਆਂ ਮੂੂਲ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਆਪਣੇ ਫੰਕਸ਼ਨ ਮੁਤਾਬਕ ਕੰਮ ਨਹੀਂ ਵੀ ਕਰ ਸਕਦੀਆਂ।"</string>
+ <string name="location_warning" msgid="8778701356292735971">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਇਸ ਡੀਵਾਈਸ ਲਈ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਸੇਵਾਵਾਂ ਦਾ ਇੱਕ ਪ੍ਰਦਾਤਾ ਹੈ। ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਪਹੁੰਚ ਨੂੰ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਸੈਟਿੰਗਾਂ ਤੋਂ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।"</string>
+ <string name="system_warning" msgid="7103819124542305179">"ਜੇਕਰ ਤੁਸੀਂ ਇਸ ਅਨੁਮਤੀ ਨੂੰ ਅਸਵੀਕਾਰ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁੁਹਾਡੀ ਡੀਵਾਈਸ ਦੀਆਂ ਮੂੂਲ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਆਪਣੇ ਫੰਕਸ਼ਨ ਮੁਤਾਬਕ ਕੰਮ ਨਹੀਂ ਵੀ ਕਰ ਸਕਦੀਆਂ।"</string>
<string name="permission_summary_enforced_by_policy" msgid="3418617316188986205">"ਨੀਤੀ ਮੁਤਾਬਕ ਲਾਗੂ ਕੀਤਾ"</string>
<string name="loading" msgid="7811651799620593731">"ਲੋਡ ਕਰ ਰਿਹਾ ਹੈ…"</string>
<string name="all_permissions" msgid="5156669007784613042">"ਸਾਰੀਆਂ ਅਨੁਮਤੀਆਂ"</string>
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"ਇਸ ਇਜ਼ਾਜਤ ਸੈਟਿੰਗ ਨੂੰ ਬਦਲਣ ਲਈ; ਤੁਹਾਨੂੰ ਪਹਿਲਾਂ ਸੈਟਿੰਗਜ਼ ਅਤੇ ਐਪਸ ਤੋਂ ਸਕ੍ਰੀਨ ਓਵਰਲੇਅ ਬੰਦ ਕਰਨਾ ਪਵੇਗਾ"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"ਸੈਟਿੰਗਜ਼ ਖੋਲ੍ਹੋ"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android ਵੀਅਰ"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"ਵੀਅਰ \'ਤੇ ਸਥਾਪਿਤ ਕਰੋ/ਸਥਾਪਨਾ ਰੱਦ ਕਰੋ ਕਾਰਵਾਈਆਂ ਸਮਰਥਿਤ ਨਹੀਂ ਹਨ।"</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"ਵੀਅਰ \'ਤੇ ਸਥਾਪਤ/ਅਣਸਥਾਪਤ ਕਾਰਵਾਈਆਂ ਸਮਰਥਿਤ ਨਹੀਂ ਹਨ।"</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> ਨੂੰ ਅੱਪਡੇਟ ਕੀਤਾ ਜਾ ਚੁੱਕਿਆ ਹੈ। ਕੀ <xliff:g id="APP_NAME_1">%1$s</xliff:g> ਨੂੰ ਅੱਗੇ ਦਿੱਤਿਆਂ ਗਿਆ \'ਤੇ ਪਹੁੰਚ ਦੀ ਮਨਜ਼ੂਰੀ ਦੇਣੀ ਹੈ?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"ਇਹ ਚੁਣੋ ਕਿ <xliff:g id="APP_NAME">%1$s</xliff:g> ਨੂੰ ਕਿਸ \'ਤੇ ਪਹੁੰਚ ਕਰਨ ਦੀ ਮਨਜ਼ੂਰੀ ਦੇਣੀ ਹੈ"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਨੂੰ ਅੱਪਡੇਟ ਕੀਤਾ ਜਾ ਚੁੱਕਿਆ ਹੈ। ਇਹ ਚੁਣੋ ਕਿ ਇਸ ਐਪ ਨੂੰ ਕਿਸ \'ਤੇ ਪਹੁੰਚ ਕਰਨ ਦੀ ਮਨਜ਼ੂਰੀ ਦੇਣੀ ਹੈ।"</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"ਰੱਦ ਕਰੋ"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"ਜਾਰੀ ਰੱਖੋ"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"ਨਵੀਆਂ ਇਜਾਜ਼ਤਾਂ"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"ਵਰਤਮਾਨ ਇਜਾਜ਼ਤਾਂ"</string>
+ <string name="message_staging" msgid="6151794817691100003">"ਐਪ ਨੂੰ ਪੜਾਅਬੱਧ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"ਅਗਿਆਤ"</string>
</resources>
diff --git a/res/values-pl-television/strings.xml b/res/values-pl-television/strings.xml
index 035832fc..6fede9ae 100644
--- a/res/values-pl-television/strings.xml
+++ b/res/values-pl-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Możesz to później zmienić, wybierając Ustawienia &gt; Aplikacje"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Pokaż aplikacje systemowe"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Uprawnienia aplikacji"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Uprawnienia aplikacji"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> – uprawnienia"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Dodatkowe uprawnienia"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> – uprawnienia"</string>
</resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index be271263..9f4a34e4 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Chcesz zaktualizować tę istniejącą aplikację? Nie utracisz danych. Nie są wymagane specjalne uprawnienia dostępu."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Chcesz zaktualizować tę wbudowaną aplikację? Nie utracisz danych. Nie są wymagane specjalne uprawnienia dostępu."</string>
<string name="install_failed" msgid="6579998651498970899">"Aplikacja nie została zainstalowana."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Instalacja pakietu została zablokowana."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Pakiet powoduje konflikt z istniejącym pakietem o tej samej nazwie."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Aplikacja jest niezgodna z Twoim tabletem."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Aplikacja jest niezgodna z Twoim telewizorem."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Aplikacja jest niezgodna z Twoim telefonem."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Ten pakiet wygląda na uszkodzony."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Jest już zainstalowany istniejący pakiet o takiej nazwie, ale z innym podpisem."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Ten pakiet działa tylko w nowszych wersjach systemu Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Aplikacja jest niezgodna z Twoim tabletem."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Ta aplikacja nie jest zgodna z Twoim telewizorem."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Aplikacja jest niezgodna z Twoim telefonem."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Określony pakiet został usunięty przed ukończeniem instalacji."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Pakiet nie przeszedł weryfikacji i nie można go zainstalować."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Podczas próby weryfikacji pakietu przekroczono czas oczekiwania. Spróbuj zainstalować go później."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"Nie można zainstalować aplikacji <xliff:g id="APP_NAME">%1$s</xliff:g> na Twoim tablecie."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"Nie udało się zainstalować <xliff:g id="APP_NAME">%1$s</xliff:g> na Twoim telewizorze."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"Nie można zainstalować aplikacji <xliff:g id="APP_NAME">%1$s</xliff:g> na Twoim telefonie."</string>
<string name="launch" msgid="4826921505917605463">"Otwórz"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Instalowanie zablokowane"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Dla bezpieczeństwa w tablecie zablokowano możliwość instalowania aplikacji z nieznanych źródeł."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Ustawienia telewizora nie pozwalają instalować aplikacji z nieznanych źródeł (dla bezpieczeństwa)."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Dla bezpieczeństwa w telefonie zablokowano możliwość instalowania aplikacji z nieznanych źródeł."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Twój administrator nie zezwala na instalowanie aplikacji pochodzących z nieznanych źródeł."</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"Ustawienia"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Nowe źródło aplikacji"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> chce zainstalować inne aplikacje.\n\nCzy zezwolić na to teraz i w przyszłości?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Zarządzaj aplikacjami"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Zastąpić aplikację?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Instalowana aplikacja zastąpi inną.\n\nWszystkie Twoje dotychczasowe dane zostaną zapisane."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Odinstalować tę aplikację?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Chcesz odinstalować tę aplikację dla "<b>"wszystkich"</b>" użytkowników? Ta aplikacja i jej dane zostaną usunięte dla "<b>"wszystkich"</b>" użytkowników na urządzeniu."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Chcesz odinstalować tę aplikację dla użytkownika <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Zastąpić tę aplikację wersją fabryczną?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Przywrócić fabryczną wersję tej aplikacji? Wszystkie dane zostaną usunięte."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Przywrócić fabryczną wersję tej aplikacji? Wszystkie dane zostaną usunięte. Dotyczy to wszystkich użytkowników tego urządzenia, również tych korzystających z profilu do pracy."</string>
<string name="uninstalling" msgid="5556217435895938250">"Odinstalowywanie..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Odinstalowywanie zakończone"</string>
<string name="uninstall_failed" msgid="631122574306299512">"Nie udało się odinstalować."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Nie można odinstalować pakietu, który jest aktywnym administratorem urządzenia."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Nie można odinstalować. Ten pakiet jest aktywnym administratorem urządzenia dla: <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Ta aplikacja jest potrzebna w profilu do pracy i nie można jej odinstalować."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Niektórzy użytkownicy i niektóre profile wymagają tej aplikacji, a w innych przypadkach została odinstalowana"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Ta aplikacja jest potrzebna w Twoim profilu i nie można jej odinstalować."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Administrator urządzenia wymaga tej aplikacji i nie można jej odinstalować."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Zarządzaj administratorami urządzenia"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Zarządzaj użytkownikami"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"Nie można odinstalować aplikacji <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Błąd analizowania"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Podczas analizowania pakietu wystąpił problem."</string>
<string name="newPerms" msgid="6039428254474104210">"Nowe"</string>
<string name="allPerms" msgid="1024385515840703981">"Wszystkie"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Dostęp do urządzenia"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Ta aktualizacja nie wymaga nowych uprawnień."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Chcesz przyznać te uprawnienia? Dają one dostęp do:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Zezwól"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Odmów"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Odmów mimo to"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> z <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Zezwolić aplikacji <xliff:g id="APP_NAME">%1$s</xliff:g> na <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Zezwolić aplikacji &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; na: <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Zezwól"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Aplikacje"</string>
<string name="app_permissions" msgid="3146758905824597178">"Uprawnienia aplikacji"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Nie pytaj ponownie"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Nie pytaj ponownie"</string>
<string name="no_permissions" msgid="3210542466245591574">"Brak uprawnień"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Dodatkowe uprawnienia"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -121,5 +118,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Aby zmodyfikować te uprawnienia, musisz najpierw wyłączyć nakładkę ekranową, klikając Ustawienia &gt; Aplikacje"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Otwórz ustawienia"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Wear nie obsługuje instalowania ani odinstalowywania."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Wear nie obsługuje instalowania ani odinstalowywania."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"Aplikacja <xliff:g id="APP_NAME_0">%1$s</xliff:g> została zaktualizowana. Zezwolić aplikacji <xliff:g id="APP_NAME_1">%1$s</xliff:g> na uzyskiwanie dostępu do tych elementów?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Wybierz, jakie uprawnienia dostępu ma mieć <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"Aplikacja <xliff:g id="APP_NAME">%1$s</xliff:g> została zaktualizowana. Wybierz dla niej uprawnienia dostępu."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Anuluj"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Dalej"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Nowe uprawnienia"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Aktualne uprawnienia"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Przygotowuję aplikację…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Nieznana"</string>
</resources>
diff --git a/res/values-pt-rBR-television/strings.xml b/res/values-pt-rBR-television/strings.xml
index 4c29ba52..2b6bddaf 100644
--- a/res/values-pt-rBR-television/strings.xml
+++ b/res/values-pt-rBR-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"É possível alterar isso mais tarde em \"Config.\" &gt; \"Apps\""</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Mostrar apps do sistema"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Permissões do app"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Permissões do app"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Permissões para <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Permissões adicionais"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Permissões para <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index ad029b0d..d058b265 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Deseja instalar uma atualização para este app existente? Seus dados existentes não serão perdidos. A atualização não requer qualquer acesso especial."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Deseja instalar uma atualização para este app integrado? Seus dados existentes não serão perdidos. A atualização não requer qualquer acesso especial."</string>
<string name="install_failed" msgid="6579998651498970899">"O app não foi instalado."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"A instalação do pacote foi bloqueada."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Já existe um pacote com esse mesmo nome."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Este aplicativo não é compatível com seu tablet."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Este app não é compatível com sua TV."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Este aplicativo não é compatível com seu smartphone."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Parece que o pacote está corrompido."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Um pacote existente com o mesmo nome e uma assinatura conflitante já foi instalado."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"O pacote funciona somente em versões mais recentes do Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Este app não é compatível com seu tablet."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Este app não é compatível com sua TV."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Este app não é compatível com seu telefone."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"O pacote especificado foi excluído antes da instalação ser concluída."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"O pacote não passou pela verificação e não pôde ser instalado."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"O tempo limite foi atingido ao tentar verificar este pacote. Tente instalá-lo novamente mais tarde."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"Não foi possível instalar <xliff:g id="APP_NAME">%1$s</xliff:g> em seu tablet."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"Não foi possível instalar <xliff:g id="APP_NAME">%1$s</xliff:g> na sua TV."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"Não foi possível instalar <xliff:g id="APP_NAME">%1$s</xliff:g> em seu telefone."</string>
<string name="launch" msgid="4826921505917605463">"Abrir"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Instalação bloqueada"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Por segurança, o tablet está config. p/ bloquear a instalação de aplicat. de fontes desconhecidas."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Por segurança, sua TV está configurada para bloquear a instalação de apps de fontes desconhecidas."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Por segurança, o telefone está config. p/ bloquear a instalação de aplicat. de fontes desconhecidas."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Seu administrador não permite a instalação de apps baixados de fontes desconhecidas."</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"Configurações"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Nova fonte para apps"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> deseja instalar outros apps.\n\nPermitir isso agora e no futuro?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Gerenciar apps"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Substituir app?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"O app que você está instalando substituirá outro app.\n\nTodos os seus dados de usuário anteriores serão salvos."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Deseja desinstalar este app?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Deseja desinstalar este app para "<b>"todos"</b>" os usuários? O app e seus dados serão removidos para "<b>"todos"</b>" os usuários do dispositivo."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Deseja desinstalar este app para o usuário <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Deseja substituir este app pela versão de fábrica?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Substituir este app pela versão de fábrica? Todos os dados serão removidos."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Substituir este app pela versão de fábrica? Todos os dados serão removidos. Isso afeta todos os usuários deste dispositivo, incluindo aqueles com perfis de trabalho."</string>
<string name="uninstalling" msgid="5556217435895938250">"Desinstalando..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Desinstalação concluída."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Desinstalação malsucedida."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Não é possível desinstalar um administrador de dispositivos ativo."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Não é possível desinstalar este pacote porque ele é um administrador de dispositivo ativo para o usuário <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Este app é necessário para seu perfil de trabalho e não pode ser desinstalado."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"O app é necessário para alguns usuários ou perfis e foi desinstalado para outros"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Este app é necessário para seu perfil e não pode ser desinstalado."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"O app é exigido pelo administrador do dispositivo e não pode ser desinstalado."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Gerenciar os administradores do dispositivo"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Gerenciar usuários"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"Não foi possível desinstalar <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Erro de análise"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Ocorreu um problema ao analisar o pacote."</string>
<string name="newPerms" msgid="6039428254474104210">"Novas"</string>
<string name="allPerms" msgid="1024385515840703981">"Todas"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Acesso ao dispositivo"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Esta atualização não requer novas permissões."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Deseja conceder as permissões a seguir? Será concedido acesso para:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Permitir"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Negar"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Negar mesmo assim"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> de <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Permitir que o app <xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Permitir que o &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Permitir"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Apps"</string>
<string name="app_permissions" msgid="3146758905824597178">"Permissões do app"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Não perguntar novamente"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Não perguntar novamente"</string>
<string name="no_permissions" msgid="3210542466245591574">"Sem permissão"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Permissões adicionais"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Para alterar a configuração dessa permissão, você deve primeiro desativar a sobreposição de tela em \"Config.\" &gt; \"Apps\""</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Abrir configurações"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"As ações de instalar/desinstalar não são compatíveis com o Android Wear."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"As ações de instalar/desinstalar não são compatíveis com o Android Wear."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> foi atualizado. Permitir que o app <xliff:g id="APP_NAME_1">%1$s</xliff:g> acesse os itens a seguir?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Escolha o que o app <xliff:g id="APP_NAME">%1$s</xliff:g> terá permissão de acessar"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"O app <xliff:g id="APP_NAME">%1$s</xliff:g> foi atualizado. Escolha o que esse app terá permissão de acessar."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Cancelar"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Continuar"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Novas permissões"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Permissões atuais"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Promovendo app…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Desconhecido"</string>
</resources>
diff --git a/res/values-pt-rPT-television/strings.xml b/res/values-pt-rPT-television/strings.xml
index 306e0661..6e14d369 100644
--- a/res/values-pt-rPT-television/strings.xml
+++ b/res/values-pt-rPT-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Pode depois alterar esta definição mais tarde em Definições &gt; Aplicações"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Mostrar aplicações do sistema"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Autorizações da aplicação"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Autorizações da aplicação"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Autorizações de <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Autorizações adicionais"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Autorizações de <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 5d6931b9..c6e1f967 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Pretende instalar uma atualização para a aplicação existente? Os dados existentes não serão perdidos. Não é necessário um acesso específico."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Pretende instalar uma atualização para a aplicação integrada? Os dados existentes não serão perdidos. Não é necessário um acesso específico."</string>
<string name="install_failed" msgid="6579998651498970899">"Aplicação não instalada."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Foi bloqueada a instalação do pacote."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"O pacote entra em conflito com um pacote existente com o mesmo nome."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Esta aplicação não é compatível com o seu tablet."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Esta aplicação não é compatível com a sua TV."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Esta aplicação não é compatível com o seu telemóvel."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"O pacote parece estar danificado."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Já está instalado um pacote com o mesmo nome e com uma assinatura em conflito."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"O pacote só funciona em versões mais recentes do Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Esta aplicação não é compatível com o tablet."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Esta aplicação não é compatível com a sua TV."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Esta aplicação não é compatível com o telemóvel."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"O pacote especificado foi eliminado antes da instalação poder ser concluída."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"O pacote não passou na verificação e não pode ser instalado."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"O tempo limite foi excedido ao tentar confirmar este pacote. Tente instalá-lo novamente mais tarde."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"Não foi possível instalar <xliff:g id="APP_NAME">%1$s</xliff:g> no tablet."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"Não foi possível instalar o <xliff:g id="APP_NAME">%1$s</xliff:g> na sua TV."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"Não foi possível instalar <xliff:g id="APP_NAME">%1$s</xliff:g> no telemóvel."</string>
<string name="launch" msgid="4826921505917605463">"Abrir"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Instalação bloqueada"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Por segurança, o tablet está definido para bloquear a inst. de aplicações obtidas de fontes desconhecidas."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Por segurança, a TV está def. para bloquear a instal. de aplic. obtidas a partir de fontes desconh."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Por segurança, o telemóvel está definido para bloquear a inst. de aplicações obtidas de fontes desconhecidas."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"O administrador não permite a instalação de aplicações obtidas de origens desconhecidas."</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"Definições"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Nova fonte para aplicações"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"O <xliff:g id="APP_NAME">%1$s</xliff:g> pretende instalar outras aplicações.\n\nPermitir a operação agora e no futuro?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Gerir aplicações"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Substituir aplicação?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"A aplicação que está a instalar substituirá outra aplicação. \n \nTodos os seus dados de utilizador anteriores serão guardados."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Pretende desinstalar esta aplicação?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Pretende desinstalar esta aplicação para "<b>"todos"</b>" os utilizadores? A aplicação e os respetivos dados serão removidos de "<b>"todos"</b>" os utilizadores do dispositivo."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Pretende desinstalar esta aplicação para o utilizador <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Pretende substituir esta aplicação pela versão de fábrica?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Pretende substituir esta aplicação pela versão de fábrica? Todos os dados são removidos."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Pretende substituir esta aplicação pela versão de fábrica? Todos os dados são removidos. Esta ação afeta todos os utilizadores deste dispositivo, incluindo os que têm perfis de trabalho."</string>
<string name="uninstalling" msgid="5556217435895938250">"A desinstalar..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Desinstalação concluída."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Desinstalação sem êxito."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Não é possível desinstalar porque este pacote é um admin. de aparelho ativo."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Não é poss. desinst. porque este pacote é um admin. de disp. ativos para o utiliz. <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"O perfil de trabalho necessita desta aplicação e não é possível desinstalá-la."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Esta aplicação é necessária para alguns utilizadores ou perfis e foi desinstalada para outros"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"O perfil necessita desta aplicação e não é possível desinstalá-la."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Esta aplic. é exigida pelo administrador do disp. e não pode ser desinstalada."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Gerir administradores de aparelhos"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Gerir utilizadores"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"Não foi possível desinstalar <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Erro de análise"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Ocorreu um problema ao analisar o pacote."</string>
<string name="newPerms" msgid="6039428254474104210">"Novas"</string>
<string name="allPerms" msgid="1024385515840703981">"Todas"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Acesso ao Dispositivo"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Esta atualização não requer novas permissões."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Pretende conceder as seguintes permissões? Permitirão acesso a:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Permitir"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Recusar"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Recusar mesmo assim"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> de <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Pretende permitir que o <xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Pretende permitir a &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Permitir"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Aplicações"</string>
<string name="app_permissions" msgid="3146758905824597178">"Permissões da aplicação"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Nunca perguntar novamente"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Não perguntar novamente"</string>
<string name="no_permissions" msgid="3210542466245591574">"Sem autorizações"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Autorizações adicionais"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Para alterar esta definição de autorização, primeiro tem de desativar a sobreposição do ecrã em Definições &gt; Aplicações"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Abrir definições"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"As ações de instalar/desinstalar não são compatíveis com o Android Wear."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"As ações de instalar/desinstalar não são compatíveis com o Android Wear."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"O <xliff:g id="APP_NAME_0">%1$s</xliff:g> foi atualizado. Permite que o <xliff:g id="APP_NAME_1">%1$s</xliff:g> aceda aos conteúdos seguintes?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Escolher a que conteúdos permite que o <xliff:g id="APP_NAME">%1$s</xliff:g> aceda"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"O <xliff:g id="APP_NAME">%1$s</xliff:g> foi atualizado. Escolha a que conteúdos permite que esta aplicação aceda."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Cancelar"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Continuar"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Novas autorizações"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Autorizações atuais"</string>
+ <string name="message_staging" msgid="6151794817691100003">"A preparar a aplicação…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Desconhecido"</string>
</resources>
diff --git a/res/values-pt-television/strings.xml b/res/values-pt-television/strings.xml
index 4c29ba52..2b6bddaf 100644
--- a/res/values-pt-television/strings.xml
+++ b/res/values-pt-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"É possível alterar isso mais tarde em \"Config.\" &gt; \"Apps\""</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Mostrar apps do sistema"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Permissões do app"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Permissões do app"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Permissões para <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Permissões adicionais"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Permissões para <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index ad029b0d..d058b265 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Deseja instalar uma atualização para este app existente? Seus dados existentes não serão perdidos. A atualização não requer qualquer acesso especial."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Deseja instalar uma atualização para este app integrado? Seus dados existentes não serão perdidos. A atualização não requer qualquer acesso especial."</string>
<string name="install_failed" msgid="6579998651498970899">"O app não foi instalado."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"A instalação do pacote foi bloqueada."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Já existe um pacote com esse mesmo nome."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Este aplicativo não é compatível com seu tablet."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Este app não é compatível com sua TV."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Este aplicativo não é compatível com seu smartphone."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Parece que o pacote está corrompido."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Um pacote existente com o mesmo nome e uma assinatura conflitante já foi instalado."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"O pacote funciona somente em versões mais recentes do Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Este app não é compatível com seu tablet."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Este app não é compatível com sua TV."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Este app não é compatível com seu telefone."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"O pacote especificado foi excluído antes da instalação ser concluída."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"O pacote não passou pela verificação e não pôde ser instalado."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"O tempo limite foi atingido ao tentar verificar este pacote. Tente instalá-lo novamente mais tarde."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"Não foi possível instalar <xliff:g id="APP_NAME">%1$s</xliff:g> em seu tablet."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"Não foi possível instalar <xliff:g id="APP_NAME">%1$s</xliff:g> na sua TV."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"Não foi possível instalar <xliff:g id="APP_NAME">%1$s</xliff:g> em seu telefone."</string>
<string name="launch" msgid="4826921505917605463">"Abrir"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Instalação bloqueada"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Por segurança, o tablet está config. p/ bloquear a instalação de aplicat. de fontes desconhecidas."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Por segurança, sua TV está configurada para bloquear a instalação de apps de fontes desconhecidas."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Por segurança, o telefone está config. p/ bloquear a instalação de aplicat. de fontes desconhecidas."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Seu administrador não permite a instalação de apps baixados de fontes desconhecidas."</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"Configurações"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Nova fonte para apps"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> deseja instalar outros apps.\n\nPermitir isso agora e no futuro?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Gerenciar apps"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Substituir app?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"O app que você está instalando substituirá outro app.\n\nTodos os seus dados de usuário anteriores serão salvos."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Deseja desinstalar este app?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Deseja desinstalar este app para "<b>"todos"</b>" os usuários? O app e seus dados serão removidos para "<b>"todos"</b>" os usuários do dispositivo."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Deseja desinstalar este app para o usuário <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Deseja substituir este app pela versão de fábrica?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Substituir este app pela versão de fábrica? Todos os dados serão removidos."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Substituir este app pela versão de fábrica? Todos os dados serão removidos. Isso afeta todos os usuários deste dispositivo, incluindo aqueles com perfis de trabalho."</string>
<string name="uninstalling" msgid="5556217435895938250">"Desinstalando..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Desinstalação concluída."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Desinstalação malsucedida."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Não é possível desinstalar um administrador de dispositivos ativo."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Não é possível desinstalar este pacote porque ele é um administrador de dispositivo ativo para o usuário <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Este app é necessário para seu perfil de trabalho e não pode ser desinstalado."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"O app é necessário para alguns usuários ou perfis e foi desinstalado para outros"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Este app é necessário para seu perfil e não pode ser desinstalado."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"O app é exigido pelo administrador do dispositivo e não pode ser desinstalado."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Gerenciar os administradores do dispositivo"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Gerenciar usuários"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"Não foi possível desinstalar <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Erro de análise"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Ocorreu um problema ao analisar o pacote."</string>
<string name="newPerms" msgid="6039428254474104210">"Novas"</string>
<string name="allPerms" msgid="1024385515840703981">"Todas"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Acesso ao dispositivo"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Esta atualização não requer novas permissões."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Deseja conceder as permissões a seguir? Será concedido acesso para:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Permitir"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Negar"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Negar mesmo assim"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> de <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Permitir que o app <xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Permitir que o &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Permitir"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Apps"</string>
<string name="app_permissions" msgid="3146758905824597178">"Permissões do app"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Não perguntar novamente"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Não perguntar novamente"</string>
<string name="no_permissions" msgid="3210542466245591574">"Sem permissão"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Permissões adicionais"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Para alterar a configuração dessa permissão, você deve primeiro desativar a sobreposição de tela em \"Config.\" &gt; \"Apps\""</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Abrir configurações"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"As ações de instalar/desinstalar não são compatíveis com o Android Wear."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"As ações de instalar/desinstalar não são compatíveis com o Android Wear."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> foi atualizado. Permitir que o app <xliff:g id="APP_NAME_1">%1$s</xliff:g> acesse os itens a seguir?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Escolha o que o app <xliff:g id="APP_NAME">%1$s</xliff:g> terá permissão de acessar"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"O app <xliff:g id="APP_NAME">%1$s</xliff:g> foi atualizado. Escolha o que esse app terá permissão de acessar."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Cancelar"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Continuar"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Novas permissões"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Permissões atuais"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Promovendo app…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Desconhecido"</string>
</resources>
diff --git a/res/values-ro-television/strings.xml b/res/values-ro-television/strings.xml
index 67514279..1c194a99 100644
--- a/res/values-ro-television/strings.xml
+++ b/res/values-ro-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Puteți modifica permisiunile ulterior din Setări &gt; Aplicații"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Afișează aplicațiile de sistem"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Permisiunile aplicației"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Permisiunile aplicației"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Permisiuni pentru <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Permisiuni suplimentare"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Permisiuni pentru <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 8fd364f7..10065199 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -18,82 +18,79 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="2738748390251381682">"Program de instalare a pachetelor"</string>
<string name="next" msgid="3057143178373252333">"Înainte"</string>
- <string name="install" msgid="5896438203900042068">"Instalaţi"</string>
+ <string name="install" msgid="5896438203900042068">"Instalați"</string>
<string name="done" msgid="3889387558374211719">"Terminat"</string>
<string name="security_settings_desc" msgid="2706691034244052604">"Permiteți acestei aplicații să:"</string>
<string name="cancel" msgid="8360346460165114585">"Anulați"</string>
<string name="unknown" msgid="4742479012767208045">"Necunoscut"</string>
<string name="installing" msgid="8613631001631998372">"În curs de instalare..."</string>
- <string name="install_done" msgid="3682715442154357097">"Aplicaţie instalată."</string>
- <string name="install_confirm_question" msgid="7295206719219043890">"Doriți să instalaţi această aplicație? Aceasta va avea acces la:"</string>
- <string name="install_confirm_question_no_perms" msgid="5918305641302873520">"Doriți să instalaţi această aplicație? Aplicaţia nu solicită un acces special."</string>
- <string name="install_confirm_question_update" msgid="4624159567361487964">"Doriți să instalaţi o actualizare pentru această aplicație existentă? Datele existente nu vor fi pierdute. Aplicaţia actualizată va avea acces la:"</string>
- <string name="install_confirm_question_update_system" msgid="1302330093676416336">"Doriți să instalaţi o actualizare pentru această aplicație încorporată? Datele existente nu vor fi pierdute. Aplicaţia actualizată va avea acces la:"</string>
- <string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Doriți să instalaţi o actualizare pentru această aplicație existentă? Datele existente nu vor fi pierdute. Actualizarea nu are nevoie de acces special."</string>
- <string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Doriți să instalaţi o actualizare pentru această aplicație încorporată? Datele existente nu vor fi pierdute. Actualizarea nu are nevoie de acces special."</string>
- <string name="install_failed" msgid="6579998651498970899">"Aplicaţia nu este instalată."</string>
+ <string name="install_done" msgid="3682715442154357097">"Aplicație instalată."</string>
+ <string name="install_confirm_question" msgid="7295206719219043890">"Doriți să instalați această aplicație? Aceasta va avea acces la:"</string>
+ <string name="install_confirm_question_no_perms" msgid="5918305641302873520">"Doriți să instalați această aplicație? Aplicația nu solicită un acces special."</string>
+ <string name="install_confirm_question_update" msgid="4624159567361487964">"Doriți să instalați o actualizare pentru această aplicație existentă? Datele existente nu vor fi pierdute. Aplicația actualizată va avea acces la:"</string>
+ <string name="install_confirm_question_update_system" msgid="1302330093676416336">"Doriți să instalați o actualizare pentru această aplicație încorporată? Datele existente nu vor fi pierdute. Aplicația actualizată va avea acces la:"</string>
+ <string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Doriți să instalați o actualizare pentru această aplicație existentă? Datele existente nu vor fi pierdute. Actualizarea nu are nevoie de acces special."</string>
+ <string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Doriți să instalați o actualizare pentru această aplicație încorporată? Datele existente nu vor fi pierdute. Actualizarea nu are nevoie de acces special."</string>
+ <string name="install_failed" msgid="6579998651498970899">"Aplicația nu este instalată."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Instalarea pachetului a fost blocată."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Pachetul este în conflict cu un pachet existent cu același nume."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Această aplicație nu este compatibilă cu tableta dvs."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Această aplicație nu este compatibilă cu televizorul dvs."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Această aplicație nu este compatibilă cu telefonul dvs."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Pachetul pare a fi deteriorat."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Un pachet cu același nume și cu o semnătură conflictuală este deja instalat."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Pachetul funcţionează numai pe versiunile Android mai recente."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Această aplicație nu este compatibilă cu tableta dvs."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Aplicația nu este compatibilă cu televizorul."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Această aplicație nu este compatibilă cu telefonul dvs."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Pachetul specificat a fost șters înainte ca instalarea să poată fi finalizată."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Pachetul nu a trecut de verificare și nu pot fi instalat."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"La verificarea pachetului timpul limită a expirat. Încercați să instalaţi din nou ulterior."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> nu a putut fi instalată pe tableta dvs."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"Aplicația <xliff:g id="APP_NAME">%1$s</xliff:g> nu a putut fi instalată pe televizor."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g> nu a putut fi instalată pe telefonul dvs."</string>
- <string name="launch" msgid="4826921505917605463">"Deschideţi"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Instalare blocată"</string>
+ <string name="launch" msgid="4826921505917605463">"Deschideți"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Pentru securitate, tableta blochează instalarea aplicațiilor obținute din surse necunoscute."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Pentru securitate, televizorul este setat să blocheze instalarea aplicațiilor din surse necunoscute."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Pentru securitate, telefonul blochează instalarea aplicațiilor obținute din surse necunoscute."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Administratorul nu permite instalarea aplicațiilor obținute din surse necunoscute."</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"Setări"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Sursă nouă pentru aplicații"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> doreşte să instaleze alte aplicații.\n\nPermiteți acest lucru acum și pe viitor?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Gestionați aplicații"</string>
- <string name="dlg_app_replacement_title" msgid="1232230739563820951">"Înlocuiţi aplicația?"</string>
- <string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Aplicaţia pe care o instalaţi va înlocui o altă aplicație.\n \nToate datele dvs. anterioare de utilizator vor fi salvate."</string>
+ <string name="dlg_app_replacement_title" msgid="1232230739563820951">"Înlocuiți aplicația?"</string>
+ <string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Aplicația pe care o instalați va înlocui o altă aplicație.\n \nToate datele dvs. anterioare de utilizator vor fi salvate."</string>
<string name="dlg_sys_app_replacement_statement" msgid="1900046590819605929">"Aceasta este o aplicație de sistem.\n \nToate datele dvs. anterioare de utilizator vor fi salvate."</string>
- <string name="out_of_space_dlg_title" msgid="7843674437613797326">"Spaţiu de stocare insuficient"</string>
- <string name="out_of_space_dlg_text" msgid="4774775404294282216">"<xliff:g id="APP_NAME">%1$s</xliff:g> nu a putut fi instalată. Eliberaţi spaţiu și încercaţi din nou."</string>
+ <string name="out_of_space_dlg_title" msgid="7843674437613797326">"Spațiu de stocare insuficient"</string>
+ <string name="out_of_space_dlg_text" msgid="4774775404294282216">"<xliff:g id="APP_NAME">%1$s</xliff:g> nu a putut fi instalată. Eliberați spațiu și încercați din nou."</string>
<string name="dlg_ok" msgid="6944357727705699232">"OK"</string>
- <string name="app_not_found_dlg_title" msgid="2692335460569505484">"Aplicaţia nu a fost găsită"</string>
- <string name="app_not_found_dlg_text" msgid="6107465056055095930">"Aplicaţia nu a fost găsită în lista de aplicații instalate."</string>
- <string name="uninstall_application_title" msgid="1860074100811653963">"Dezinstalaţi aplicația"</string>
- <string name="uninstall_update_title" msgid="4146940097553335390">"Dezinstalaţi actualizarea"</string>
+ <string name="app_not_found_dlg_title" msgid="2692335460569505484">"Aplicația nu a fost găsită"</string>
+ <string name="app_not_found_dlg_text" msgid="6107465056055095930">"Aplicația nu a fost găsită în lista de aplicații instalate."</string>
+ <string name="uninstall_application_title" msgid="1860074100811653963">"Dezinstalați aplicația"</string>
+ <string name="uninstall_update_title" msgid="4146940097553335390">"Dezinstalați actualizarea"</string>
<string name="uninstall_activity_text" msgid="6680688689803932550">" <xliff:g id="ACTIVITY_NAME">%1$s</xliff:g> face parte din următoarea aplicație:"</string>
- <string name="uninstall_application_text" msgid="6691975835951187030">"Doriți să dezinstalaţi această aplicație?"</string>
- <string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Doriți să dezinstalaţi această aplicație pentru "<b>"toţi"</b>" utilizatorii? Aplicaţia și datele acesteia vor fi eliminate de la "<b>"toţi"</b>" utilizatorii de pe acest dispozitiv."</string>
+ <string name="uninstall_application_text" msgid="6691975835951187030">"Doriți să dezinstalați această aplicație?"</string>
+ <string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Doriți să dezinstalați această aplicație pentru "<b>"toți"</b>" utilizatorii? Aplicația și datele acesteia vor fi eliminate de la "<b>"toți"</b>" utilizatorii de pe acest dispozitiv."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Dezinstalați această aplicație pentru utilizatorul <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Doriți să înlocuiţi această aplicație cu versiunea din fabrică?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Înlocuiți această aplicație cu versiunea din fabrică? Toate datele vor fi eliminate."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Înlocuiți această aplicație cu versiunea din fabrică? Toate datele vor fi eliminate. Această acțiune va afecta toți utilizatorii dispozitivului, inclusiv pe cei cu profiluri de serviciu."</string>
<string name="uninstalling" msgid="5556217435895938250">"În curs de dezinstalare..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Dezinstalare finalizată."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Dezinstalare nefinalizată."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Nu se poate dezinstala, acest pachet este un administrator de dispozitive activ."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Nu se poate dezinstala, pachetul este administrator de dispozitive activ pt. <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Aplicația este necesară pentru profilul de serviciu și nu poate fi dezinstalată."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Aplicația este necesară unor utilizatori sau profiluri și a fost dezinstalată pentru alții"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Aplicația este necesară pentru profilul dvs. și nu poate fi dezinstalată."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Aplicație necesară administratorului dispozitivului. Nu poate fi dezinstalată."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Gestionați administratori de dispozitive"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Gestionați utilizatorii"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> nu a putut fi dezinstalată."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Erori de analizare"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"A apărut o problemă la analizarea pachetului."</string>
<string name="newPerms" msgid="6039428254474104210">"Noi"</string>
<string name="allPerms" msgid="1024385515840703981">"Toate"</string>
- <string name="privacyPerms" msgid="1850527049572617">"Confidenţialitate"</string>
+ <string name="privacyPerms" msgid="1850527049572617">"Confidențialitate"</string>
<string name="devicePerms" msgid="6733560207731294504">"Acces la dispozitiv"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Această actualizare nu necesită permisiuni noi."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Doriți să acordați următoarele permisiuni? Utilizatorul va avea acces la:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Permiteți"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Refuzați"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Nu permiteți oricum"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> din <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Permiteți ca <xliff:g id="APP_NAME">%1$s</xliff:g> să <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Permiteți &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; să <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Permiteți"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Aplicații"</string>
<string name="app_permissions" msgid="3146758905824597178">"Permisiuni pentru aplicație"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Nu mai întreba niciodată"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Nu mai întreba"</string>
<string name="no_permissions" msgid="3210542466245591574">"Fără permisiuni"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Permisiuni suplimentare"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -120,5 +117,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Ca să schimbați această setare pentru permisiuni, mai întâi trebuie să dezactivați suprapunerea pe ecran din Setări &gt; Aplicații"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Deschideți setările"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Acțiunile Instalați/Dezinstalați nu sunt acceptate pe Wear."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Acțiunile Instalați/Dezinstalați nu sunt acceptate pe Wear."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"Aplicația <xliff:g id="APP_NAME_0">%1$s</xliff:g> a fost actualizată. Permiteți aplicației <xliff:g id="APP_NAME_1">%1$s</xliff:g> să acceseze următoarele?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Alegeți ce va putea accesa <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"Aplicația <xliff:g id="APP_NAME">%1$s</xliff:g> a fost actualizată. Alegeți ce va putea accesa această aplicație."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Anulați"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Continuați"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Permisiuni noi"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Permisiuni actuale"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Se pregătește aplicația…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Necunoscut"</string>
</resources>
diff --git a/res/values-ru-television/strings.xml b/res/values-ru-television/strings.xml
index ef77002f..e105f924 100644
--- a/res/values-ru-television/strings.xml
+++ b/res/values-ru-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Чтобы изменить разрешения, откройте \"Настройки\" и выберите \"Приложения\"."</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Показать системные приложения"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Разрешения приложений"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Разрешения приложений"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Разрешения (<xliff:g id="PERMISSION">%1$s</xliff:g>)"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Ещё разрешения"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Разрешения (<xliff:g id="PERMISSION">%1$s</xliff:g>)"</string>
</resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 9cad9cab..babad033 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Установить обновление этого приложения? На текущих данных это никак не отразится. Специальных прав доступа не требуется."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Установить обновление этого встроенного приложения? На текущих данных это никак не отразится. Специальных прав доступа не требуется."</string>
<string name="install_failed" msgid="6579998651498970899">"Приложение не установлено."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Установка пакета заблокирована."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Пакет с таким названием уже существует."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Приложение несовместимо с вашим планшетом."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Приложение несовместимо с вашим телевизором."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Приложение несовместимо с вашим телефоном."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Похоже, пакет поврежден."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Пакет с таким названием уже установлен и имеет конфликтующую подпись."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Этот пакет поддерживается только в системе Android более поздних версий."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Приложение несовместимо с вашим устройством."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Это приложение несовместимо с вашим телевизором."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Приложение несовместимо с вашим устройством."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Указанный пакет удален до завершения установки."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Пакет не проверен и не может быть установлен."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Не удалось проверить пакет. Попробуйте установить его позже."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"Не удалось установить приложение \"<xliff:g id="APP_NAME">%1$s</xliff:g>\"."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"Приложение \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" нельзя установить на ваш телевизор."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"Не удалось установить приложение \"<xliff:g id="APP_NAME">%1$s</xliff:g>\"."</string>
<string name="launch" msgid="4826921505917605463">"Открыть"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Установка заблокирована"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"В целях безопасности на устройстве заблокирована установка приложений из неизвестных источников."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"В целях безопасности ваш телевизор блокирует установку приложений из неизвестных источников."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"В целях безопасности на устройстве заблокирована установка приложений из неизвестных источников."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Ваш администратор запретил устанавливать приложения из неизвестных источников."</string>
<string name="ok" msgid="3468756155452870475">"ОК"</string>
<string name="settings" msgid="6743583734099755409">"Настройки"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Новый источник для приложений"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> хочет установить другие приложения.\n\nРазрешить и запомнить выбор?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Управление приложениями"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Заменить приложение?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Данное приложение заменит другую программу.\n\nВсе пользовательские данные будут сохранены."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Удалить приложение?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Удалить это приложение для "<b>"всех"</b>" пользователей? После этого "<b>"ни один"</b>" пользователь устройства не будет иметь доступа к приложению и связанным с ним данным."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Удалить это приложение из профиля <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Установить исходную версию приложения?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Установить исходную версию приложения? Все его данные будут удалены."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Установить исходную версию приложения? Его данные будут удалены из всех профилей устройства, в том числе рабочих."</string>
<string name="uninstalling" msgid="5556217435895938250">"Удаление..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Удаление завершено."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Ошибка при удалении."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Невозможно удалить пакет, т. к. он выбран для администрирования устройства."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Невозможно удалить этот пакет: он выбран для администрирования устройства в аккаунте <xliff:g id="USERNAME">%1$s</xliff:g>"</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Это приложение необходимо для работы и потому не может быть удалено."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Это приложение обязательно для некоторых пользователей или профилей."</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Это приложение обязательно для вашего профиля. Его нельзя удалить."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Это приложение указано администратором как обязательное. Его нельзя удалить."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Настройки администрирования"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Управление пользователями"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"Не удалось удалить приложение \"<xliff:g id="APP_NAME">%1$s</xliff:g>\"."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Синтаксическая ошибка"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Ошибка при синтаксическом анализе пакета."</string>
<string name="newPerms" msgid="6039428254474104210">"Новые"</string>
<string name="allPerms" msgid="1024385515840703981">"Все"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Доступ к устройству"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Установка этого обновления не требует новых разрешений."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Предоставить следующие разрешения? Вот к чему будет получен доступ:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Разрешить"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Отклонить"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Все равно запретить"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> из <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Разрешить приложению \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Разрешить приложению &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Разрешить"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Приложения"</string>
<string name="app_permissions" msgid="3146758905824597178">"Разрешения приложений"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Больше не запрашивать"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Больше не спрашивать"</string>
<string name="no_permissions" msgid="3210542466245591574">"Разрешения не требуются"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Ещё разрешения"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -121,5 +118,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Чтобы предоставить или отменить разрешение, сначала отключите наложения. Для этого нажмите \"Настройки &gt; Приложения\"."</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Открыть настройки"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Android Wear не поддерживает установку и удаление."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Установка и удаление не поддерживаются на Android Wear"</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"Приложение <xliff:g id="APP_NAME_0">%1$s</xliff:g> было обновлено. Разрешить приложению <xliff:g id="APP_NAME_1">%1$s</xliff:g> следующие действия?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Выберите разрешения для приложения <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"Приложение <xliff:g id="APP_NAME">%1$s</xliff:g> было обновлено. Выберите разрешения для него."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Отмена"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Далее"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Новые разрешения"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Имеющиеся разрешения"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Подождите…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Неизвестное приложение"</string>
</resources>
diff --git a/res/values-si-rLK-television/strings.xml b/res/values-si-rLK-television/strings.xml
index 9f058ed2..2ac8d8b3 100644
--- a/res/values-si-rLK-television/strings.xml
+++ b/res/values-si-rLK-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"ඔබට මෙය පසුව සැකසීම් &gt; යෙදුම් තුළ වෙනස් කළ හැකිය"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"පද්ධති යෙදුම් පෙන්වන්න"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"යෙදුම් අවසර"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"යෙදුම් අවසර"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> අවසර"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"අතිරේක අවසර"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> අවසර"</string>
</resources>
diff --git a/res/values-si-rLK/strings.xml b/res/values-si-rLK/strings.xml
index d381abcb..7f5b0683 100644
--- a/res/values-si-rLK/strings.xml
+++ b/res/values-si-rLK/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"මෙම පවතින යෙදුමට යාවත්කාලීනයක් ස්ථාපනය කිරීමට ඔබට අවශ්‍යද? ඔබගේ පවතින දත්ත නැති නොවේ. එයට විශේෂ ප්‍රවේශයක් අවශ්‍ය නොවේ."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"පවතින මෙම යෙදුමට යාවත්කාලීනයක් ස්ථාපනය කිරීමට ඔබට අවශ්‍යද? ඔබගේ පවතින දත්ත නැති නොවේ. එයට විශේෂ ප්‍රවේශයක් අවශ්‍ය නොවේ."</string>
<string name="install_failed" msgid="6579998651498970899">"යෙදුම ස්ථාපනය කරේ නැත."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"මෙම පැකේජය ස්ථාපනය කිරීම අවහිර කරන ලදි."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"මෙම පැකේජය එම නම ඇති දැනට පවතින පැකේජය හා ගැටේ."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"ඔබගේ ටැබ්ලටය සමග මෙම යෙදුම නොගැලපේ."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"මෙම යෙදුම ඔබගේ රූපවාහිනිය හා නොගැළපේ."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"මෙම යෙදුම ඔබගේ දුරකථනයට නොගැළපේ."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"පැකේජය සදොස් වී ඇති බව පෙනෙයි."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"සංඝටන වන අත්සනක් සමග එකම නාමය ඇති පවතින පැකේජයක් දැනටමත් ස්ථාපනය කර ඇත."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Android හි නව සංස්කරණ සමග පමණක් පැකේජය වැඩ කරයි."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"ඔබගේ ටැබ්ලටය සමග මෙම යෙදුම නොගැලපේ."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"මෙම යෙදුම ඔබගේ රූපවාහිනිය හා නොගැළපේ."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"මෙම යෙදුම ඔබගේ දුරකථනයට නොගැළපේ."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"ස්ථාපනය සම්පූර්ණ වීමට පෙර සඳහන් පැකේජය මකන ලදි."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"මෙම පැකේජය සත්‍යාපනය කිරීම අසමත් වුණු අතර ස්ථාපනය කිරීමට නොහැකි විය."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"පැකේජය සත්‍යාපනය කිරීමට උත්සාහ කරද්දී කාලය ඉකුත්වීමක් සිදුවුණි. පසුව එය නැවතත් ස්ථාපනය කිරීමට උත්සාහ කරන්න."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"ඔබගේ ටැබ්ලටයේ <xliff:g id="APP_NAME">%1$s</xliff:g> ස්ථාපනය කළ නොහැක."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> මෙම රූපවාහිනියෙහි ස්ථාපනය කළ නොහැක."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g> දුරකථනයට ස්ථාපිත කිරීමට නොහැකි විය."</string>
<string name="launch" msgid="4826921505917605463">"විවෘත කරන්න"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"ස්ථාපනය කිරීම අවහිර කරන ලදි"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"ආරක්ෂාව සඳහා, නොදන්නා මූලාශ්‍රවලින් පැමිණෙන යෙදුම් ස්ථාපනය අවහිර කරන ලෙස ඔබගේ ටැබ්ලටය සකසා ඇත."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"ආරක්ෂාව සඳහා, ඔබගේ රූපවාහිනිය නොදන්නා මූලවලින් ලබාගත් යෙදුම් ස්ථාපනයෙන් අවහිර කර ඇත."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"ආරක්ෂාව සඳහා, නොදන්නා මූලාශ්‍රවලින් පැමිණෙන යෙදුම් ස්ථාපනය අවහිර කරන ලෙස ඔබගේ දුරකථනය සකසා ඇත."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"නාඳුනන මූලයන් වෙතින් ලබාගත් යෙදුම් ස්ථාපනය කිරීමට ඔබගේ පරිපාලකයා ඉඩ නොදේ."</string>
<string name="ok" msgid="3468756155452870475">"හරි"</string>
<string name="settings" msgid="6743583734099755409">"සැකසීම්"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"යෙදුම් සඳහා නව මූලාශ්‍ර"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> හට වෙනත් යෙදුම් ස්ථාපනය කිරීමට අවශ්‍යයි.\n\nදැන් සහ අනාගතයේදී මෙයට අවසර දෙනවාද?"</string>
<string name="manage_applications" msgid="4033876279091996596">"යෙදුම් කළමනාකරණය කරන්න"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"යෙදුම ප්‍රතිස්ථාපනය කරනවාද?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"ඔබ ස්ථාපනය කරන යෙදුම අනෙක් යෙදුමෙන් ප්‍රතිස්ථාපනය කෙරේ.\n\nඔබගේ සියලුම පෙර පරිශීලක දත්ත සුරැකෙනු ඇත."</string>
@@ -69,31 +63,34 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"ඔබට මෙම යෙදුම අස්ථාපනය කිරීමට අවශ්‍යද?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222"><b>"සියලු"</b>" පරිශීලකයන් සඳහා මෙම යෙදුම අස්ථාපනය කිරීමට ඔබට අවශ්‍යද? උපාංගයෙහි "<b>"සියලු"</b>" පරිශීලකයන් සඳහා යෙදුම සහ එහි දත්ත ඉවත්වනු ඇත."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"<xliff:g id="USERNAME">%1$s</xliff:g> පරිශීලකයා සඳහා මෙම යෙදුම අස්ථාපනය කිරීමට ඔබට අවශ්‍යයද?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"කර්මාන්ත ශාලා අනුවාදය සමග මෙම යෙදුම ප්‍රතිස්ථාපනය කිරීමට ඔබට අවශ්‍යද?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"මෙම යෙදුම කර්මාන්ත ශාලා අනුවාදයක් සමගින් ප්‍රතිස්ථාපනය කරන්නද? සියලු දත්ත ඉවත් කරනු ඇත."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"මෙම යෙදුම කර්මාන්ත ශාලා අනුවාදයක් සමගින් ප්‍රතිස්ථාපනය කරන්නද? සියලු දත්ත ඉවත් කරනු ඇත. මෙය කාර්යාල පැතිකඩවල් සහිත අය ඇතුළුව, මෙම උපාංගයෙහි සියලු පරිශීලකයන් වෙත බලපානු ඇත."</string>
<string name="uninstalling" msgid="5556217435895938250">"අස්ථාපනය කරමින්…"</string>
<string name="uninstall_done" msgid="3792487853420281888">"අස්ථාපනය අවසන්."</string>
<string name="uninstall_failed" msgid="631122574306299512">"අස්ථාපිත විම අසාර්ථකයි."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"මෙම පැකේජය ක්‍රියාකාරී උපාංග පරිපාලකයෙක් බැවින් අස්ථාපනය කළ නොහැක."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"පැකේජය <xliff:g id="USERNAME">%1$s</xliff:g> පරිශීලකයා හට සක්‍රිය උපාංග කලමනාකරුවෙකු වන නිසා, මෙය ස්ථාපිත කිරීම ඉවත් කළ නොහැක."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"ඔබේ කාර්ය පැතිකඩ සඳහා මෙම යෙදුම අවශ්‍ය වන අතර අස්ථාපනය කළ නොහැකිය."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"මෙම යෙදුම සමහර පරිශීලකයන්ට සහ පැතිකඩවල්වලට අවශ්‍ය අතර අනෙක් අයට අස්ථාපනය කරන ලදී"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"ඔබේ කාර්ය පැතිකඩ සඳහා මෙම යෙදුම අවශ්‍ය වන අතර අස්ථාපනය කළ නොහැකිය."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"ඔබගේ උපාංගයේ පාලකයාට මෙම යෙදුම අවශ්‍ය වේ එම නිසා අස්ථාපනය කළ නොහැක."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"උපාංග පරිපාලකයන් කළමනාකරණය කරන්න"</string>
+ <string name="manage_users" msgid="3125018886835668847">"පරිශීලකයන් කළමනාකරණය කරන්න"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> අස්ථාපනය කල නොහැක."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"විග්‍රහ කිරීමේ දෝෂයකි"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"පැකේජය විග්‍රහ කිරීමේදී ගැටළුවක් ඇති විය."</string>
- <string name="newPerms" msgid="6039428254474104210">"නව"</string>
+ <string name="newPerms" msgid="6039428254474104210">"අලුත්"</string>
<string name="allPerms" msgid="1024385515840703981">"සියල්ල"</string>
<string name="privacyPerms" msgid="1850527049572617">"පෞද්ගලිකත්වය"</string>
<string name="devicePerms" msgid="6733560207731294504">"උපාංගය ප්‍රවේශය"</string>
<string name="no_new_perms" msgid="6657813692169565975">"මෙම යාවත්කාලිනයට අලුත් අවසරයන් අවශ්‍ය නොවේ."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"ඔබට පහත සඳහන් අවසර පිරිනැමීමට අවශ්‍ය ද? එය පහත සඳහා ප්‍රවේශය ලබා ගනියි:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"ඉඩ දෙන්න"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"ප්‍රතික්ෂේප කරන්න"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"කෙසේ වෙතත් ප්‍රතික්ෂේප කරන්න"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g> න් <xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"<xliff:g id="ACTION">%2$s</xliff:g> කිරීමට <xliff:g id="APP_NAME">%1$s</xliff:g> ට ඉඩ දෙන්නද?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; හට <xliff:g id="ACTION">%2$s</xliff:g> වෙත ඉඩ දෙන්නද?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"ඉඩ දෙන්න"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"යෙදුම්"</string>
<string name="app_permissions" msgid="3146758905824597178">"යෙදුම් අවසර"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"නැවත කිසිදා නොඅසන්න"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"නැවත අසන්න එපා"</string>
<string name="no_permissions" msgid="3210542466245591574">"අවසර නොමැත"</string>
<string name="additional_permissions" msgid="6667573114240111763">"අතිරේක අවසර"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"මෙම අවසර සැකසීම වෙනස් කිරීම සඳහා, ඔබට මුලින්ම සැකසීම් &gt; යෙදුම් වෙතින් තිර උඩැතිරිය අක්‍රිය කර යුතුයි"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"සැකසීම් විවෘත කරන්න"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Wear මත ස්ථාපන/අස්ථාපනය ක්‍රියා වෙත සහය දක්වන්නේ නැත."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Wear මත ස්ථාපන/අස්ථාපනය ක්‍රියා සහාය දක්වන්නේ නැත."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> යාවත්කාලීන කර ඇත. <xliff:g id="APP_NAME_1">%1$s</xliff:g> හට පහත ඒවාට පිවිසීමට ඉඩ දෙන්නද?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"<xliff:g id="APP_NAME">%1$s</xliff:g> හට පිවිසීමට ඉඩ දෙන දේ තෝරන්න"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> යාවත්කාලීන කර ඇත. මෙම යෙදුමට පිවිසීමට ඉඩ දෙන දේ තෝරන්න."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"අවලංගු කරන්න"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"දිගටම කර ගෙන යන්න"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"නව අවසර"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"වත්මන් අවසර"</string>
+ <string name="message_staging" msgid="6151794817691100003">"යෙදුම වේදිකාගත කරමින්..."</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"නොදනී"</string>
</resources>
diff --git a/res/values-sk-television/strings.xml b/res/values-sk-television/strings.xml
index 7326f155..15ecdb89 100644
--- a/res/values-sk-television/strings.xml
+++ b/res/values-sk-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Neskôr to môžete zmeniť v časti Nastavenia &gt; Aplikácie"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Zobraziť systémové aplikácie"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Povolenia aplikácie"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Povolenia aplikácie"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Povolenia – <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Ďalšie povolenia"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Povolenia – <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 213e4481..c6f61231 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Chcete nainštalovať aktualizáciu tejto existujúcej aplikácie? Vaše údaje nebudú stratené. Táto akcia nevyžaduje žiadny zvláštny prístup."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Chcete nainštalovať aktualizáciu tejto vstavanej aplikácie? Vaše údaje sa nestratia. Táto akcia nevyžaduje žiadny zvláštny prístup."</string>
<string name="install_failed" msgid="6579998651498970899">"Aplikácia nebola nainštalovaná."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Inštalácia balíka bola zablokovaná."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Tento balík je v konflikte s existujúcim balíkom s rovnakým názvom."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Táto aplikácia nie je kompatibilná s vaším tabletom."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Táto aplikácia nie je kompatibilná s vaším televízorom."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Táto aplikácia nie je kompatibilná s vaším telefónom."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Zdá sa, že je balík poškodený."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Už je nainštalovaný existujúci balík s rovnakým názvom a kolidujúcim podpisom."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Balík funguje iba v novších verziách systému Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Táto aplikácia nie je kompatibilná s vaším tabletom."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Táto aplikácia nie je kompatibilná s vaším televízorom."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Táto aplikácia nie je kompatibilná s vaším telefónom."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Pred dokončením inštalácie bol vybratý balík odstránený."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Balík neprešiel overením a nemôže byť nainštalovaný."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Pri verifikácii tohto balíka vypršal časový limit. Skúste ho nainštalovať neskôr."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"Aplikáciu <xliff:g id="APP_NAME">%1$s</xliff:g> sa do vášho tabletu nepodarilo nainštalovať."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"Aplikáciu <xliff:g id="APP_NAME">%1$s</xliff:g> sa nepodarilo nainštalovať na vašom televízore."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"Aplikáciu <xliff:g id="APP_NAME">%1$s</xliff:g> sa do vášho telefónu nepodarilo nainštalovať."</string>
<string name="launch" msgid="4826921505917605463">"Otvoriť"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Inštalácia bola zablokovaná"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Tablet je z dôvodu zabezpečenia nastavený tak, aby blokoval inštalácie aplikácií z neznámych zdrojov."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Váš televízor blokuje z bezpečnostných dôvodov inštaláciu aplikácií získaných z neznámych zdrojov."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Telefón je z dôvodu zabezpečenia nastavený tak, aby blokoval inštalácie aplikácií z neznámych zdrojov."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Váš správca zakázal inštaláciu aplikácií z neznámych zdrojov."</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"Nastavenia"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Nový zdroj pre aplikácie"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"Aplikácia <xliff:g id="APP_NAME">%1$s</xliff:g> chce inštalovať iné aplikácie.\n\nPovoliť teraz aj v budúcnosti?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Spravovať aplikácie"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Nahradiť aplikáciu?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Aplikácia, ktorú inštalujete, nahradí inú aplikáciu.\n\nVšetky predchádzajúce používateľské údaje budú uložené."</string>
@@ -69,31 +63,34 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Chcete túto aplikáciu odinštalovať?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Chcete odinštalovať túto aplikáciu pre "<b>"všetkých"</b>" používateľov? Aplikácia a jej údaje sa odstránia z tohto zariadenia pre "<b>"všetkých"</b>" používateľov."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Chcete túto aplikáciu odinštalovať pre používateľa <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Chcete túto aplikáciu nahradiť továrenskou verziou?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Nahradiť túto aplikáciu továrenskou verziou? Všetky údaje sa odstránia."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Nahradiť túto aplikáciu továrenskou verziou? Všetky údaje sa odstránia. Ovplyvní to všetkých používateľov tohto zariadenia vrátane tých s pracovnými profilmi."</string>
<string name="uninstalling" msgid="5556217435895938250">"Prebieha odinštalovanie..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Odinštalovanie bolo dokončené."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Odinštalovanie bolo neúspešné."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Nie je možné odinštalovať, pretože tento balík je aktívnym správcom zariadenia."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Balíček nie je možné odinštalovať, pretože je aktívnym správcom zariadenia pre používateľa <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Táto aplikácia sa vyžaduje pre váš pracovný profil a nemôžete ju odinštalovať."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Táto aplikácia sa vyžaduje v prípade niektorých používateľov či profilov a v prípade iných zase bola odinštalovaná"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Táto aplikácia sa vyžaduje pre váš profil a nemôžete ju odinštalovať."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Túto aplikáciu vyžaduje správca vášho zariadenia a nie je ju možné odinštalovať."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Spravovať správcov zariadenia"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Spravovať používateľov"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"Aplikáciu <xliff:g id="APP_NAME">%1$s</xliff:g> sa nepodarilo odinštalovať."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Chyba analýzy"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Pri analýze balíka sa vyskytol problém."</string>
<string name="newPerms" msgid="6039428254474104210">"Nové"</string>
<string name="allPerms" msgid="1024385515840703981">"Všetko"</string>
- <string name="privacyPerms" msgid="1850527049572617">"Ochrana osobných údajov"</string>
+ <string name="privacyPerms" msgid="1850527049572617">"Ochrana súkromia"</string>
<string name="devicePerms" msgid="6733560207731294504">"Prístup k zariadeniu"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Táto aktualizácia nevyžaduje žiadne nové povolenia."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Chcete udeliť nasledujúce povolenia? Získate prístup k:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Povoliť"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Odmietnuť"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Zamietnuť"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> z <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Povoliť aplikácii <xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Povoliť aplikácii &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; vykonať akciu <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Povoliť"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Aplikácie"</string>
<string name="app_permissions" msgid="3146758905824597178">"Povolenia aplikácií"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Túto otázku už nezobrazovať"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Nabudúce sa nepýtať"</string>
<string name="no_permissions" msgid="3210542466245591574">"Žiadne povolenia"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Ďalšie povolenia"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -121,5 +118,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Ak chcete zmeniť nastavenie tohto povolenia, musíte najprv v časti Nastavenia &gt; Aplikácie vypnúť prekrytie obrazovky"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Otvoriť nastavenia"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Systém Wear nepodporuje akciu inštalácie/odinštalovania"</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Systém Wear nepodporuje akciu inštalácie/odinštalovania."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"Aplikácia <xliff:g id="APP_NAME_0">%1$s</xliff:g> bola aktualizovaná. Povoliť aplikácii <xliff:g id="APP_NAME_1">%1$s</xliff:g> prístup k nasledovnému?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Vyberte, k čomu môže pristupovať aplikácia <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"Aplikácia <xliff:g id="APP_NAME">%1$s</xliff:g> bola aktualizovaná. Vyberte, k čomu môže pristupovať."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Zrušiť"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Pokračovať"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Nové povolenia"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Aktuálne povolenia"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Aplikácia je zavádzaná po etapách…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Neznáma"</string>
</resources>
diff --git a/res/values-sl-television/strings.xml b/res/values-sl-television/strings.xml
index d5ca8680..3e8e4ea5 100644
--- a/res/values-sl-television/strings.xml
+++ b/res/values-sl-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"To lahko pozneje spremenite v »Nastavitve &gt; Aplikacije«"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Prikaz sistemskih aplikacij"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Dovoljenja za aplikacije"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Dovoljenja za aplikacije"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Dovoljenja za: <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Dodatna dovoljenja"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Dovoljenja za: <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 362693c6..fcaab142 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Ali želite namestiti posodobitev te obstoječe aplikacije? Obstoječi podatki ne bodo izgubljeni. Za namestitev ne potrebujete posebnega dostopa."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Ali želite namestiti posodobitev te vgrajene aplikacije? Obstoječi podatki ne bodo izgubljeni. Za namestitev ne potrebujete posebnega dostopa."</string>
<string name="install_failed" msgid="6579998651498970899">"Aplikacija ni nameščena."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Namestitev paketa je bila blokirana."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Paket je v sporu z obstoječim paketom z enakim imenom."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Ta aplikacija ni združljiva z vašim tabličnim računalnikom."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Ta aplikacija ni združljiva z vašim televizorjem."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Ta aplikacija ni združljiva z vašim telefonom."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Kaže, da je paket poškodovan."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Paket z istim imenom s podpisom v navzkrižju je že nameščen."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Paket deluje samo v novejših različicah Androida."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Ta aplikacija ni združljiva s tabličnim računalnikom."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Ta aplikacija ni združljiva z vašim televizorjem."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Ta aplikacija ni združljiva z vašim telefonom."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Navedeni paket je bil izbrisan, preden je bilo mogoče končati namestitev."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Paket ni opravil preverjanja in ga ni mogoče namestiti."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Pri preverjanju tega paketa je potekla časovna omejitev. Poskusite ga znova namestiti pozneje."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"Aplikacije <xliff:g id="APP_NAME">%1$s</xliff:g> ni bilo mogoče namestiti v tablični računalnik."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"Aplikacije <xliff:g id="APP_NAME">%1$s</xliff:g> ni bilo mogoče namestiti v vašem televizorju."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"Aplikacije <xliff:g id="APP_NAME">%1$s</xliff:g> ni bilo mogoče namestiti v telefon."</string>
<string name="launch" msgid="4826921505917605463">"Odpri"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Namestitev je blokirana"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Tablični računal. je zaradi varnosti nastavljen, da blokira namestitev aplikacij iz neznanih virov."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Vaš televizor je zaradi varnosti nastavljen tako, da blokira namestitev aplikacij iz neznanih virov."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Telefon je zaradi varnosti nastavljen tako, da blokira namestitev aplikacij iz neznanih virov."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Skrbnik ne dovoli nameščanja aplikacij iz neznanih virov."</string>
<string name="ok" msgid="3468756155452870475">"V redu"</string>
<string name="settings" msgid="6743583734099755409">"Nastavitve"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Nov vir za aplikacije"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> želi namestiti druge aplikacije.\n\nŽelite to dovoliti zdaj in v prihodnosti?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Upravljaj aplikacije"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Ali želite zamenjati aplikacijo?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Aplikacija, ki jo nameščate, bo nadomestila drugo. \n \nVsi prejšnji uporabniški podatki bodo shranjeni."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Ali želite odstraniti to aplikacijo?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Ali želite odstraniti aplikacijo za "<b>"vse"</b>" uporabnike? Aplikacija in njeni podatki bodo odstranjeni iz "<b>"vseh"</b>" uporabnikov v napravi."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Ali želite to aplikacijo odstraniti za uporabnika <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Ali želite to aplikacijo nadomestiti s tovarniško različico?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Želite to aplikacijo nadomestiti s tovarniško različico? Odstranjeni bodo vsi podatki."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Želite to aplikacijo nadomestiti s tovarniško različico? Odstranjeni bodo vsi podatki. To vpliva na vse uporabnike te naprave, vključno s tistimi z delovnimi profili."</string>
<string name="uninstalling" msgid="5556217435895938250">"Odstranjevanje ..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Odstranitev je končana."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Odstranitev ni uspela."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Odstranitev ni mogoča, ker je ta paket aktivni skrbnik naprave."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Tega paketa ni mogoče odstraniti, ker je aktivni skrbnik naprav za uporabnika <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Ta aplikacija je potrebna za delovni profil in je ni mogoče odstraniti."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Aplikacija je obvezna za nekatere uporabnike/profile in je odstranjena za druge."</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Ta aplikacija je potrebna za profil in je ni mogoče odstraniti."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"To aplikacijo zahteva skrbnik naprave in je ni mogoče odstraniti."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Upravljanje skrbnikov naprav"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Upravljanje uporabnikov"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"Aplikacije <xliff:g id="APP_NAME">%1$s</xliff:g> ni bilo mogoče odstraniti."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Napaka razčlenitve"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Težava pri razčlenjevanju paketa."</string>
<string name="newPerms" msgid="6039428254474104210">"Novo"</string>
<string name="allPerms" msgid="1024385515840703981">"Vse"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Dostop do naprave"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Za to posodobitev niso potrebna nova dovoljenja."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Ali želite odobriti naslednja dovoljenja? S tem bo omogočen dostop do:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Dovoli"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Zavrni"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Vseeno zavrni"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> od <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Dovolite aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> izvesti to dejanje: <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Ali dovolite aplikaciji &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; izvesti to dejanje: <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Dovoli"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Aplikacije"</string>
<string name="app_permissions" msgid="3146758905824597178">"Dovoljenja za aplikacije"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Ne vprašaj nikoli več"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Ne sprašuj več"</string>
<string name="no_permissions" msgid="3210542466245591574">"Ni dovoljenj"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Dodatna dovoljenja"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -121,5 +118,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Če želite spremeniti nastavitev tega dovoljenja, morate najprej izklopiti prekrivanje zaslona v »Nastavitve &gt; Aplikacije«"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Odpri nastavitve"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Dejanja namestitve in odstranitve v sistemu Android Wear niso podprta."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Dejanja namestitve in odstranitve v sistemu Android Wear niso podprta."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"Aplikacija <xliff:g id="APP_NAME_0">%1$s</xliff:g> je posodobljena. Dovolite aplikaciji <xliff:g id="APP_NAME_1">%1$s</xliff:g> dostop do tega?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Izberite, do česa dovolite aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> dostop"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> je posodobljena. Izberite, do česa dovolite tej aplikaciji dostop."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Prekliči"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Naprej"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Nova dovoljenja"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Trenutna dovoljenja"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Priprava aplikacije …"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Neznano"</string>
</resources>
diff --git a/res/values-sq-rAL-television/strings.xml b/res/values-sq-rAL-television/strings.xml
index 68122461..d66231cb 100644
--- a/res/values-sq-rAL-television/strings.xml
+++ b/res/values-sq-rAL-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Këtë mund ta ndryshosh më vonë te Cilësimet &gt; Aplikacionet"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Shfaq aplikacionet e sistemit"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Lejet e aplikacionit"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Lejet e aplikacionit"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Lejet për <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Lejet shtesë"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Lejet për <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-sq-rAL/strings.xml b/res/values-sq-rAL/strings.xml
index 319d6e26..492cee6b 100644
--- a/res/values-sq-rAL/strings.xml
+++ b/res/values-sq-rAL/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Dëshiron të instalosh një përditësim të këtij aplikacioni ekzistues? Të dhënat e tua ekzistuese nuk do të humbasin. Aplikacioni nuk kërkon ndonjë qasje të veçantë."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Dëshiron të instalosh një përditësim të këtij aplikacioni ekzistues? Të dhënat e tua ekzistuese nuk do të humbasin. Aplikacioni nuk kërkon ndonjë qasje të veçantë."</string>
<string name="install_failed" msgid="6579998651498970899">"Aplikacioni nuk u instalua."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Instalimi paketës u bllokua."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Paketa është në konflikt me një paketë ekzistuese nga i njëjti emër."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Ky aplikacion është i papërshtatshëm me tabletin tënd."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Ky aplikacion është i papërshtatshëm me televizorin tënd."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Ky aplikacion është i papërshtatshëm me telefonin tënd."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Paketa duket se është e dëmtuar."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Një paketë ekzistuese që mban të njëjtin emër me një nënshkrim kontradiktor, është instaluar tashmë."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Paketa punon vetëm në versionet më të reja \"android\"."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Ky aplikacion është i papërshtatshëm me tabletin tënd."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Ky aplikacion është i papërshtatshëm me televizorin tënd."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Ky aplikacion është i papërshtatshëm me telefonin tënd."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Paketa e specifikuar u fshi para se instalimi të përfundonte."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Paketa nuk e kaloi verifikimin dhe nuk mund të instalohet."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Koha e verifikimit të paketës skadoi. Provo ta instalosh sërish."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> nuk mund të instalohej në tablet."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> nuk mund të instalohej në televizor."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g> nuk mundi të instalohej në telefon."</string>
<string name="launch" msgid="4826921505917605463">"Hap"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Instalimi u bllokua"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Për arsye sigurie, tableti yt është caktuar t\'i bllokojë instalimet e aplikacioneve nga burime të panjohura."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Për arsye sigurie, televizori yt është caktuar t\'i bllokojë instalimet e aplikacioneve nga burime të panjohura."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Për arsye sigurie, telefoni yt është caktuar t\'i bllokojë instalimet e aplikacioneve nga burime të panjohura."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Administratori yt nuk lejon instalimin e aplikacioneve nga burime të panjohura."</string>
<string name="ok" msgid="3468756155452870475">"Në rregull"</string>
<string name="settings" msgid="6743583734099755409">"Cilësimet"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Burim i ri për aplikacione"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> dëshiron të instalojë aplikacione të tjera.\n\nDo e lejosh tani dhe në të ardhmen?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Menaxho aplikacionet"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Të zëvendësohet aplikacioni?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Aplikacioni që po instalon do të zëvendësojë një aplikacion tjetër.\n\nTë gjitha të dhënat e përdoruesit të mëparshëm do të ruhen."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Dëshiron ta çinstalosh këtë aplikacion?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Dëshiron ta çinstalosh këtë aplikacion për "<b>"të gjithë"</b>" përdoruesit? Aplikacioni dhe të dhënat e tij do të hiqen nga "<b>"të gjithë"</b>" përdoruesit e pajisjes."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Dëshiron ta çinstalosh këtë aplikacion për përdoruesin <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Dëshiron ta zëvendësosh këtë aplikacion me versionin e fabrikës?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Të zëvendësohet ky aplikacion me versionin e fabrikës? Të gjitha të dhënat do të hiqen."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Të zëvendësohet ky aplikacion me versionin e fabrikës? Të gjitha të dhënat do të hiqen. Kjo ndikon te të gjithë përdoruesit e kësaj pajisjeje, duke përfshirë ata me profile të punës."</string>
<string name="uninstalling" msgid="5556217435895938250">"Po e çinstalon…"</string>
<string name="uninstall_done" msgid="3792487853420281888">"Çinstalimi përfundoi."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Çinstalimi nuk pati sukses."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Nuk mund të çinstalohet sepse kjo paketë është administratore aktive e pajisjes."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Nuk mund të çinstalohet sepse kjo paketë është administratore aktive e pajisjes për përdoruesin <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Ky aplikacion nevojitet për profilin tënd të punës dhe nuk mund të çinstalohet."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Ky aplikacion kërkohet për disa përdorues ose profile dhe është çinstaluar për të tjerët"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Ky aplikacion nevojitet për profilin tënd dhe nuk mund të çinstalohet."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Ky aplikacion kërkohet nga administratori i pajisjes dhe nuk mund të çinstalohet."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Menaxho administratorët e pajisjes"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Menaxho përdoruesit"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> nuk mundi të çinstalohej."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Gabim analize"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Kishte një problem me analizimin e paketës."</string>
<string name="newPerms" msgid="6039428254474104210">"E re"</string>
<string name="allPerms" msgid="1024385515840703981">"Të gjitha"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Qasja në pajisje"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Ky përditësim nuk kërkon leje të reja."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Dëshiron të japësh lejet e mëposhtme? Do të ketë qasje në:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Lejo"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Refuzo"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Refuzo sidoqoftë"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> nga <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Të lejohet apl. \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" të realizojë \"<xliff:g id="ACTION">%2$s</xliff:g>\"?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Të lejohet &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; që të <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Lejo"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Aplikacionet"</string>
<string name="app_permissions" msgid="3146758905824597178">"Lejet e aplikacionit"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Mos pyet më asnjëherë"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Mos pyet përsëri"</string>
<string name="no_permissions" msgid="3210542466245591574">"Nuk ka leje"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Lejet shtesë"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Për të ndryshuar këtë cilësim të lejes, në fillim duhet të çaktivizosh mbivendosjen e ekranit nga Cilësimet &gt; Aplikacionet"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Hap cilësimet"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Teknologjia \"Android\" që vishet"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Instalo/çinstalo veprimet që nuk mbështeten në teknologjinë që vishet."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Instalo/çinstalo veprimet që nuk mbështeten në teknologjinë që vishet."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> është përditësuar. Të lejohet qasja e <xliff:g id="APP_NAME_1">%1$s</xliff:g> në sa më poshtë?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Zgjidh se ku do të lejohet të ketë qasje <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> është përditësuar. Zgjidh se ku do të lejohet të ketë qasje ky aplikacion."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Anulo"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Vazhdo"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Lejet e reja"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Lejet aktuale"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Po vihet në përdorim aplikacioni..."</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"E panjohur"</string>
</resources>
diff --git a/res/values-sr-television/strings.xml b/res/values-sr-television/strings.xml
index 01d4b9f1..fcfe1566 100644
--- a/res/values-sr-television/strings.xml
+++ b/res/values-sr-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Ово можете да промените касније у Подешавањима &gt; Апликације"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Прикажи системске апликације"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Дозволе за апликације"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Дозволе за апликације"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Дозволе за апликацију <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Додатне дозволе"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Дозволе за апликацију <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 67548d0b..895b4172 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Да ли желите да инсталирате ажурирање ове постојеће апликације? Постојећи подаци неће бити изгубљени. Није потребан посебан приступ."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Да ли желите да инсталирате ажурирање ове уграђене апликације? Постојећи подаци неће бити изгубљени. Није потребан посебан приступ."</string>
<string name="install_failed" msgid="6579998651498970899">"Апликација није инсталирана."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Инсталирање пакета је блокирано."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Пакет је у сукобу са постојећим пакетом истог назива."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Ова апликација није компатибилна са таблетом."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Ова апликација није компатибилна са ТВ-ом."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Ова апликација није компатибилна са телефоном."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Изгледа да је пакет оштећен."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Већ је инсталиран пакет са истим именом и сукобљеним потписом."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Пакет функционише само на новијим верзијама Android-а."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Ова апликација није компатибилна са таблетом."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Ова апликација није компатибилна са ТВ-ом."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Ова апликација није компатибилна са телефоном."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Наведени пакет је избрисан пре него што је инсталација завршена."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Пакет није прошао верификацију и не може да се инсталира."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Време је истекло при покушају да се верификује пакет. Покушајте поново да га инсталирате касније."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"Није могуће инсталирати апликацију <xliff:g id="APP_NAME">%1$s</xliff:g> на таблет."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"Нисмо успели да инсталирамо <xliff:g id="APP_NAME">%1$s</xliff:g> на ТВ."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"Није могуће инсталирати апликацију <xliff:g id="APP_NAME">%1$s</xliff:g> на телефон."</string>
<string name="launch" msgid="4826921505917605463">"Отвори"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Инсталирање је блокирано"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Из безбедносних разлога на таблету је блокирана инсталација апликација са непознатих извора."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"ТВ је из безбедносних разлога подешен тако да блокира инсталацију апликација из непознатих извора."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Из безбедносних разлога на телефону је блокирана инсталација апликација са непознатих извора."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Администратор не дозвољава инсталирање апликација добијених из непознатих извора."</string>
<string name="ok" msgid="3468756155452870475">"Потврди"</string>
<string name="settings" msgid="6743583734099755409">"Подешавања"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Нови извор за апликације"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> жели да инсталира друге апликације.\n\nЖелите ли то да дозволите сада и у будућности?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Управљање апликацијама"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Желите ли да замените апликацију?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Апликација коју инсталирате замениће другу апликацију.\n\nСви претходни кориснички подаци биће сачувани."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Да ли желите да деинсталирате ову апликацију?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Да ли желите да деинсталирате ову апликацију за "<b>"све"</b>" кориснике? Апликација и подаци који се на њу односе биће уклоњени за "<b>"све"</b>" кориснике овог уређаја."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Желите ли да деинсталирате ову апликацију за корисника <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Да ли желите да замените ову апликацију фабричком верзијом?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Желите ли да замените ову апликацију фабричком верзијом? Сви подаци ће бити уклоњени."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Желите ли да замените ову апликацију фабричком верзијом? Сви подаци ће бити уклоњени. Ово утиче на све кориснике овог уређаја, укључујући и оне са профилима за Work."</string>
<string name="uninstalling" msgid="5556217435895938250">"Деинсталирање..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Деинсталирање је завршено."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Деинсталирање није успело."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Није могуће деинсталирати зато што је овај пакет активан администратор уређаја."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Није могуће деинст. јер је пакет активни администратор уређаја за корисника <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Ова апликација је потребна за профил за Work и не може да се деинсталира."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Ова апликација је потребна за неке кориснике или профиле, а деинсталирана је за друге"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Ова апликација је потребна за ваш профил и не може да се деинсталира."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Ова апликација је потребна администратору уређаја и не може да се деинсталира."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Управљај администраторима уређаја"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Управљаj корисницима"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"Није могуће деинсталирати апликацију <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Грешка при рашчлањивању"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Дошло је до проблема при рашчлањивању пакета."</string>
<string name="newPerms" msgid="6039428254474104210">"Ново"</string>
<string name="allPerms" msgid="1024385515840703981">"Све"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Приступ уређају"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Ово ажурирање не захтева нове дозволе."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Да ли желите да одобрите следеће дозволе? Одобрићете приступ за:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Дозволи"</string>
- <string name="grant_dialog_button_deny" msgid="2176510645406614340">"Одбиј"</string>
+ <string name="grant_dialog_button_deny" msgid="2176510645406614340">"Одбаци"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Ипак одбиј"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>. од <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Желите ли да дозволите да услуга <xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Желите ли да дозволите да &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; обави следећу радњу: <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Дозволи"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Апликације"</string>
<string name="app_permissions" msgid="3146758905824597178">"Дозволе за апликације"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Никада више не тражи"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Не питај поново"</string>
<string name="no_permissions" msgid="3210542466245591574">"Нема дозвола"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Додатне дозволе"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -120,5 +117,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Да бисте променили подешавање ове дозволе, прво треба да искључите елемент који прекрива садржај екрана у одељку Подешавања &gt; Апликације"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Отвори подешавања"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Радње Инсталирај/Деинсталирај нису подржане у Wear-у."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Радње Инсталирај/Деинсталирај нису подржане у Wear-у."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"Апликација <xliff:g id="APP_NAME_0">%1$s</xliff:g> је ажурирана. Желите ли да дозволите да <xliff:g id="APP_NAME_1">%1$s</xliff:g> приступа следећим ставкама?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Изаберите чему <xliff:g id="APP_NAME">%1$s</xliff:g> може да приступа"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"Апликација <xliff:g id="APP_NAME">%1$s</xliff:g> је ажурирана. Изаберите чему апликација може да приступа."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Откажи"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Настави"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Нове дозволе"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Актуелне дозволе"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Апликација се припрема…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Непознато"</string>
</resources>
diff --git a/res/values-sv-television/strings.xml b/res/values-sv-television/strings.xml
index 178a011c..5f237675 100644
--- a/res/values-sv-television/strings.xml
+++ b/res/values-sv-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Du kan ändra detta senare i Inställningar &gt; Appar"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Visa systemappar"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Appens behörigheter"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Appens behörigheter"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Behörigheter för <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Ytterligare behörigheter"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Behörigheter för <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index faef032f..ce8d0ac6 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Vill du installera en uppdatering av den befintliga appen? Dina befintliga data försvinner inte. Ingen särskild åtkomst krävs."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Vill du installera en uppdatering av den inbyggda appen? Dina befintliga data försvinner inte. Ingen särskild åtkomst krävs."</string>
<string name="install_failed" msgid="6579998651498970899">"Appen har inte installerats."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Paketet har blockerats för installation."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Det finns en konflikt mellan det här paketet och ett befintligt paket med samma namn."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Appen är inte kompatibel med din surfplatta."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Appen är inte kompatibel med din TV."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Appen är inte kompatibel med din mobil."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Paketet verkar vara skadat."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Det finns redan ett paket med samma namn och en signatur som är i konflikt."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Paketet fungerar bara med nyare versioner av Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Appen är inte kompatibel med din surfplatta."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Appen är inte kompatibel med din TV."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Appen är inte kompatibel med din mobil."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Paketet som angavs togs bort innan installationen var slutförd."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Paketet klarade inte verifieringen och får inte installeras."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"En timeout inträffade när paketet skulle verifieras. Prova att installera paketet senare."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"Det gick inte att installera <xliff:g id="APP_NAME">%1$s</xliff:g> på surfplattan."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> kunde inte installeras på TV:n."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"Det gick inte att installera <xliff:g id="APP_NAME">%1$s</xliff:g> på mobilen."</string>
<string name="launch" msgid="4826921505917605463">"Öppna"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Installation blockerad"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Av säkerhetsskäl går det inte att installera appar från okända källor på din surfplatta."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"TV:n är av säkerhetsskäl inställd på att blockera installationer av appar från okända källor."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Av säkerhetsskäl går det inte att installera appar från okända källor på din mobil."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Administratören tillåter inte installation av appar från okända källor."</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"Inställningar"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Ny källa för appar"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> vill installera andra appar.\n\nVill du tillåta det nu och i framtiden?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Hantera appar"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Vill du byta ut appen?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Appen du installerar kommer att ersätta en annan app.\n\nAlla tidigare användardata sparas."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Vill du avinstallera appen?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Vill du avinstallera den här appen för "<b>"alla"</b>" användare? Appen och alla data i den tas bort från "<b>"alla"</b>" användare på enheten."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Vill du avinstallera appen för användaren <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Vill du ersätta den här appen med fabriksversionen?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Vill du ersätta den här appen med den version som var installerad när enheten var ny? All information tas bort."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Vill du ersätta den här appen med den version som var installerad när enheten var ny? All information tas bort. Detta påverkar alla som använder enheten, även dem med jobbprofiler."</string>
<string name="uninstalling" msgid="5556217435895938250">"Avinstallerar…"</string>
<string name="uninstall_done" msgid="3792487853420281888">"Avinstallationen har slutförts."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Det gick inte att avinstallera."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Det går inte att avinstallera eftersom paketet är en aktiv enhetsadministratör."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Paketet kan inte avinstalleras. Det används för att administrera enheten för <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Appen behövs för jobbprofilen och det går inte att avinstallera den."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Den här appen är obligatorisk för vissa användare och profiler och har avinstallerats för andra"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Appen behövs i profilen och det går inte att avinstallera den"</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Appen krävs av enhetsadministratören och kan därför inte avinstalleras."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Hantera enhetsadministratörer"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Hantera användare"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"Det gick inte att avinstallera <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Analysfel"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Ett problem uppstod när paketet analyserades."</string>
<string name="newPerms" msgid="6039428254474104210">"Nytt"</string>
<string name="allPerms" msgid="1024385515840703981">"Alla"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Enhetsåtkomst"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Det krävs inga nya behörigheter för den här uppdateringen."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Vill du bevilja följande behörigheter? Då godkänner du åtkomst till:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Tillåt"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Neka"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Neka ändå"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> av <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Vill du tillåta <xliff:g id="APP_NAME">%1$s</xliff:g> att <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Tillåter du &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; att göra följande: <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Tillåt"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Appar"</string>
<string name="app_permissions" msgid="3146758905824597178">"Appens behörigheter"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Fråga aldrig igen"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Fråga inte igen"</string>
<string name="no_permissions" msgid="3210542466245591574">"Inga behörigheter"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Ytterligare behörigheter"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Innan du kan ändra den här behörighetsinställningen måste du inaktivera skärmöverlagring under Inställningar &gt; Appar"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Öppna inställningarna"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Åtgärder för att installera/avinstallera stöds inte på Wear."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Åtgärder för att installera/avinstallera stöds inte på Wear."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> har uppdaterats. Vill du ge <xliff:g id="APP_NAME_1">%1$s</xliff:g> åtkomst till följande?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Välj vad du vill ge <xliff:g id="APP_NAME">%1$s</xliff:g> åtkomst till"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> har uppdaterats. Välj vad du vill ge appen åtkomst till."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Avbryt"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Fortsätt"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Nya behörigheter"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Nuvarande behörighet"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Provkör appen …"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Okänd"</string>
</resources>
diff --git a/res/values-sw-television/strings.xml b/res/values-sw-television/strings.xml
index fb169fc0..5725add9 100644
--- a/res/values-sw-television/strings.xml
+++ b/res/values-sw-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Unaweza kubadilisha hatua hii baadaye kwenye Mipangilio na Programu"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Onyesha programu za mfumo"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Ruhusa za programu"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Ruhusa za programu"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Ruhusa za <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Ruhusa za ziada"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Ruhusa za <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index d6f775e5..1c0afe25 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Je, unataka kuweka sasisho la programu hii? Data yako iliyopo haitapotea. Haihitaji idhini yoyote maalum ya kufikia."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Je, unataka kuweka sasisho la programu hii? Data yako iliyopo haitapotea. Haihitaji idhini yoyote maalum ya kufikia."</string>
<string name="install_failed" msgid="6579998651498970899">"Programu haikusakinishwa."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Kifurushi kimezuiwa kisisakinishwe."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Kifurushi kinakinzana na kifurushi kilichopo chenye jina linalofanana."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Programu hii haioani na kompyuta yako kibao."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Programu hii haioani na runinga yako."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Programu hii haioani na simu yako."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Inaonekana kifaa kimeharibika"</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Tayari kuna furushi lenye jina sawa na lenye sahihi inayogongana lililosakinishwa."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Kifurushi kinafanya kazi tu na toleo jipya la Android"</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Programu hii haitangamani na kompyuta yako kibao."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Programu hii haioani na runinga yako."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Programu hii haitangamani na simu yako."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Furushi bainifu lilifutwa kabla ya usakinishaji uweze kukamilika."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Furushi halikupitia uthibitishaji na haliwezi kusakinishwa."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Muda ulikwisha ulipokuwa ukijaribu kuthibitisha furushi hili. Jaribu kusakinisha tena baadaye."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> haikuweza kusakinishwa kwenye kompyuta yako kibao."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> haikuweza kusakinishwa kwenye runinga yako."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g> haikuweza kusakinishwa kwenye simu yako."</string>
<string name="launch" msgid="4826921505917605463">"Fungua"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Kusakinisha kumezuiwa"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Kwa ajili ya usalama, kompyuta yako kibao imepangwa kuzuia usakinishaji wa programu zilizopatikana kutoka kwa vyanzo visivyojulikana."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Kwa usalama, runinga yako imesanidiwa izuie usakinishaji wa programu zinazopatikana kutoka vyanzo visivyojulikana."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Kwa ajili ya usalama, simu yako inaweza kuzuia uwekaji wa programu zinazotoka kwenye vyanzo visivyojulikana."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Msimamizi wako haruhusu usakinishaji wa programu zilizopatikana kutoka vyanzo visivyojulikana."</string>
<string name="ok" msgid="3468756155452870475">"Sawa"</string>
<string name="settings" msgid="6743583734099755409">"Mipangilio"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Chanzo kipya cha programu"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> anataka kusakinisha programu nyingine. \n \n Ruhusu hii sasa na katika siku za usoni?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Dhibiti programu"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Badilisha programu?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Programu unayosakinisha itachukua nafasi ya programu nyingine.\n\nData yako ya mtumiaji wa awali itahifadhiwa."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Unataka kusanidua programu hii?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Je, unataka kusanidua programu hii kwa "<b>"watumiaji"</b>" wote? Programu na data yake zitaondolewa kutoka kwa "<b>"watumiaji"</b>" kwenye kifaa."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Je, unataka kuondoa programu hii kwa mtumiaji <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Ungependa kubadilisha programu hii na toleo ililotoka nalo kiwandani?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Ungependa kubadilisha programu hii na toleo la kiwanda? Data yote itaondolewa."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Ungependa kubadilisha programu hii na toleo la kiwanda? Data yote itaondolewa. Hatua hii itaathiri watumiaji wote wa kifaa hiki, ikiwa ni pamoja na wale walio na wasifu za kazini."</string>
<string name="uninstalling" msgid="5556217435895938250">"Inasanidua..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Imesaniduliwa."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Kusanidua hakukufaulu."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Furushi hili haliwezi kusaniduliwa kwa sababu ni kidhibiti kinachosimamia kifaa."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Haiwezi kuondoa kwa sababu kifurushi hiki ni kisimamizi cha kifaa kinachotumika kwa ajili ya mtumiaji <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Programu hii inahitajika kwa wasifu wako wa kazi kwa hivyo haiwezi kuondolewa."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Baadhi ya wasifu au watumiaji wanahitaji programu, kwa hivyo haijaondolewa kwa wengine"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Programu hii inahitajika kwa wasifu wako kwa hivyo haiwezi kuondolewa."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Programu hii inahitajika na msimamizi wako wa kifaa na haiwezi kuondolewa."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Simamia vidhibiti vya kifaa"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Dhibiti watumiaji"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> haingeweza kusaniduliwa."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Changanua hitilafu"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Kulikuwa na tatizo la kuchanganua furushi."</string>
<string name="newPerms" msgid="6039428254474104210">"Mpya"</string>
<string name="allPerms" msgid="1024385515840703981">"Zote"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Kufikia Kifaa"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Sasisho hili halihitaji vibali vipya."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Je, unataka kupeana idhini zifuatazo? Itakuwa na ufikiaji kwa:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Ruhusu"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Kataa"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Kataa"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> kati ya <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Je, ungependa kuruhusu <xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Ungependa kuruhusu &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; iweze <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Ruhusu"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Programu"</string>
<string name="app_permissions" msgid="3146758905824597178">"Ruhusa za programu"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Usiulize tena"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Usiniulize tena"</string>
<string name="no_permissions" msgid="3210542466245591574">"Hakuna ruhusa"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Ruhusa za ziada"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Ili kubadilisha mpangilio huu wa ruhusa, ni lazima kwanza uzime tangazo lililowekelewa juu ya skrini kwenye Mipangilio na Programu"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Fungua mipangilio"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Vitendo vya Kusakinisha/Kuondoa haviwezi kutumika kwenye Android Wear."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Huduma ya Android Wear haiwezi kutekeleza vitendo vya Kusakinisha au Kuondoa vipengee."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> imesasishwa. Ungependa kuruhusu <xliff:g id="APP_NAME_1">%1$s</xliff:g> ifikie vipengee vifuatavyo?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Chagua vipengee ambavyo unaruhusu <xliff:g id="APP_NAME">%1$s</xliff:g> ifikie"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> imesasishwa. Chagua vipengee unavyoruhusu programu hii ifikie."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Ghairi"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Endelea"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Ruhusa mpya"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Ruhusa zilizopo"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Inatayarisha programu..."</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Isiyojulikana"</string>
</resources>
diff --git a/res/values-ta-rIN-television/strings.xml b/res/values-ta-rIN-television/strings.xml
index 31973a5f..786bbe28 100644
--- a/res/values-ta-rIN-television/strings.xml
+++ b/res/values-ta-rIN-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"அமைப்புகள் &gt; பயன்பாடுகள் என்பதில் பிறகு மாற்றலாம்"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"முறைமைப் பயன்பாடுகளைக் காட்டு"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"பயன்பாட்டு அனுமதிகள்"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"பயன்பாட்டு அனுமதிகள்"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> அனுமதிகள்"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"கூடுதல் அனுமதிகள்"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> அனுமதிகள்"</string>
</resources>
diff --git a/res/values-ta-rIN/strings.xml b/res/values-ta-rIN/strings.xml
index 860e671e..eedbd18f 100644
--- a/res/values-ta-rIN/strings.xml
+++ b/res/values-ta-rIN/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"முன்பே உள்ள இந்தப் பயன்பாட்டில் புதுப்பிப்பை நிறுவ விரும்புகிறீர்களா? ஏற்கனவே உள்ள உங்கள் தரவை இழக்கமாட்டீர்கள். இதற்குத் தனிப்பட்ட அணுகல் எதுவும் தேவையில்லை."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"உள்ளமைக்கப்பட்ட பயன்பாட்டில் புதுப்பிப்பை நிறுவ விரும்புகிறீர்களா? ஏற்கனவே உள்ள உங்கள் தரவை இழக்க மாட்டீர்கள். இதற்குத் தனிப்பட்ட அணுகல் எதுவும் தேவையில்லை."</string>
<string name="install_failed" msgid="6579998651498970899">"பயன்பாடு நிறுவப்படவில்லை."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"இந்தத் தொகுப்பு நிறுவுவதிலிருந்து தடுக்கப்பட்டது."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"இந்தத் தொகுப்பு அதே பெயரில் ஏற்கனவே உள்ள தொகுப்புடன் முரண்படுகிறது."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"உங்கள் டேப்லெட்டுடன் இந்தப் பயன்பாடு இணங்கவில்லை."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"உங்கள் டிவியுடன் இந்தப் பயன்பாடு இணங்கவில்லை."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"உங்கள் மொபைலுடன் இந்தப் பயன்பாடு இணங்கவில்லை."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"தொகுப்பு சிதைந்ததுபோல் தெரிகிறது."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"கையொப்ப வேறுபாடுடைய இதே பெயருடைய தொகுப்பு ஏற்கனவே நிறுவப்பட்டுள்ளது."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Android இன் புதிய பதிப்புகளில் மட்டுமே தொகுப்பு வேலைசெய்யும்."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"இந்தப் பயன்பாடு உங்கள் டேப்லெட்டுடன் ஏற்புடையதாக இல்லை."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"உங்கள் டிவியுடன் இந்தப் பயன்பாடு இணங்கவில்லை."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"இந்தப் பயன்பாடு உங்கள் மொபைலுடன் ஏற்புடையதாக இல்லை."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"நிறுவல் முடியும் முன்பே குறிப்பிட்ட தொகுப்பு நீக்கப்பட்டது."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"தொகுப்பானது சரிபார்ப்பில் வெற்றி பெறாததால், அதை நிறுவ முடியாது."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"இந்தத் தொகுப்பைச் சரிபார்க்க முயற்சிக்கும்போது காலங்கடந்தது. பிறகு இதை மீண்டும் நிறுவ முயற்சிக்கவும்."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> பயன்பாட்டை உங்கள் டேப்லெட்டில் நிறுவ முடியாது."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"உங்கள் டிவியில் <xliff:g id="APP_NAME">%1$s</xliff:g>ஐ நிறுவ முடியவில்லை."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g> பயன்பாட்டை உங்கள் மொபைலில் நிறுவ முடியாது."</string>
<string name="launch" msgid="4826921505917605463">"திற"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"நிறுவுதல் தடுக்கப்பட்டது"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"பாதுகாப்பிற்கு, தெரியாத மூலங்களிலிருந்து பெறப்படும் பயன்பாடுகளின் நிறுவலைத் தடுக்கும்படி உங்கள் டேப்லெட் அமைக்கப்பட்டுள்ளது."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"பாதுகாப்பிற்காக, அறியப்படாத மூலங்களிலிருந்து பெற்ற பயன்பாடுகளின் நிறுவலைத் தடுக்கும்படி உங்கள் டிவி அமைக்கப்பட்டுள்ளது."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"பாதுகாப்பிற்கு, தெரியாத மூலங்களிலிருந்து பெறப்படும் பயன்பாடுகளின் நிறுவலைத் தடுக்கும்படி உங்கள் மொபைல் அமைக்கப்பட்டுள்ளது."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"உங்கள் நிர்வாகி அறியப்படாத மூலங்களிலிருந்து பெற்ற பயன்பாடுகளை நிறுவ அனுமதிக்கவில்லை."</string>
<string name="ok" msgid="3468756155452870475">"சரி"</string>
<string name="settings" msgid="6743583734099755409">"அமைப்பு"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"பயன்பாடுகளுக்கான புதிய மூலம்"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"பிற பயன்பாடுகளை நிறுவுவதற்கும் <xliff:g id="APP_NAME">%1$s</xliff:g> பயன்பாடு விரும்புகிறது.\n\nஇதை இப்போதும், எதிர்காலத்திலும் அனுமதிக்கவா?"</string>
<string name="manage_applications" msgid="4033876279091996596">"பயன்பாடுகளை நிர்வகிக்கவும்"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"பயன்பாட்டை மாற்றவா?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"நிறுவும் பயன்பாடு மற்றொரு பயன்பாட்டை மாற்றிவிடும்.\n\nமுந்தைய பயனர் தரவு அனைத்தும் சேமிக்கப்படும்."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"இந்தப் பயன்பாட்டை நிறுவல் நீக்க விரும்புகிறீர்களா?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"இந்தப் பயன்பாட்டை "<b>"எல்லா"</b>" பயனர்களுக்கும் நிறுவல் நீக்க விரும்புகிறீர்களா? பயன்பாடும், அதன் தரவும் சாதனத்தில் உள்ள "<b>"எல்லா"</b>" பயனர்களிடமிருந்தும் அகற்றப்படும்."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"<xliff:g id="USERNAME">%1$s</xliff:g> பயனருக்கான இந்தப் பயன்பாட்டை நிறுவல்நீக்க விரும்புகிறீர்களா?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"ஆரம்பநிலைப் பதிப்பைக் கொண்டு இந்தப் பயன்பாட்டை மாற்ற விரும்புகிறீர்களா?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"ஆரம்பநிலைப் பதிப்பாக இந்தப் பயன்பாட்டை மாற்றியமைக்கவா? எல்லா தரவும் அகற்றப்படும்."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"ஆரம்பநிலைப் பதிப்பாக இந்தப் பயன்பாட்டை மாற்றியமைக்கவா? எல்லா தரவும் அகற்றப்படும். பணிச் சுயவிவரங்களுடன் உள்ளவர்கள் உட்பட இந்தச் சாதனத்தின் எல்லா பயனர்களையும் இது பாதிக்கும்."</string>
<string name="uninstalling" msgid="5556217435895938250">"நிறுவலை நீக்குகிறது…"</string>
<string name="uninstall_done" msgid="3792487853420281888">"நிறுவல் நீக்குவது முடிந்தது."</string>
<string name="uninstall_failed" msgid="631122574306299512">"நிறுவல் நீக்குவதில் தோல்வி."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"இந்தத் தொகுப்பு, செயலில் உள்ள சாதன நிர்வாகி என்பதால் நிறுவல் நீக்க முடியாது."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"இந்தத் தொகுப்பு <xliff:g id="USERNAME">%1$s</xliff:g> பயனருக்கான செயலில் உள்ள சாதன நிர்வாகியாக இருப்பதால், நிறுவல் நீக்க முடியாது."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"உங்கள் பணி சுயவிவரத்திற்கு இந்தப் பயன்பாடு தேவைப்படுவதால், அதை நிறுவல்நீக்க முடியாது."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"இது சில பயனர்கள்/சுயவிவரங்களுக்குத் தேவைப்படுவதால், நிறுவல்நீக்க முடியாது, பிறருக்கு நிறுவல் நீக்கப்பட்டது"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"உங்கள் சுயவிவரத்திற்கு இந்தப் பயன்பாடு தேவைப்படுவதால், அதை நிறுவல்நீக்க முடியாது, பிறருக்கு நிறுவல் நீக்கப்பட்டது."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"சாதன நிர்வாகிக்கு இந்தப் பயன்பாடு தேவைப்படுவதால், நிறுவல்நீக்க முடியாது."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"சாதன நிர்வாகிகளை நிர்வகி"</string>
+ <string name="manage_users" msgid="3125018886835668847">"பயனர்களை நிர்வகி"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> பயன்பாட்டை நிறுவல் நீக்க முடியாது."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"குறியீட்டுப் பிழை"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"தொகுப்பைக் குறியீட்டு ஆய்வு செய்வதில் சிக்கல் ஏற்பட்டது."</string>
<string name="newPerms" msgid="6039428254474104210">"புதிது"</string>
<string name="allPerms" msgid="1024385515840703981">"எல்லாம்"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"சாதன அணுகல்"</string>
<string name="no_new_perms" msgid="6657813692169565975">"இந்தப் புதுப்பிப்பிற்குப் புதிய அனுமதிகள் எதுவும் தேவையில்லை."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"பின்வரும் அனுமதிகளை வழங்க விருப்பமா? அது இதற்கான அணுகலைப் பெறும்:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"அனுமதி"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"நிராகரி"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"பரவாயில்லை, நிராகரி"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"<xliff:g id="ACTION">%2$s</xliff:g> செயலுக்கு <xliff:g id="APP_NAME">%1$s</xliff:g>ஐ அனுமதிக்கவா?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"செயலைச் செய்ய <xliff:g id="ACTION">%2$s</xliff:g>, &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;ஐ அனுமதிக்கவா?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"அனுமதி"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"பயன்பாடுகள்"</string>
<string name="app_permissions" msgid="3146758905824597178">"பயன்பாட்டு அனுமதிகள்"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"மீண்டும் கேட்காதே"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"மீண்டும் கேட்காதே"</string>
<string name="no_permissions" msgid="3210542466245591574">"அனுமதிகள் இல்லை"</string>
<string name="additional_permissions" msgid="6667573114240111763">"கூடுதல் அனுமதிகள்"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"இந்த அனுமதியை மாற்ற, அமைப்புகள் &gt; பயன்பாடுகள் என்பதற்குச் சென்று, திரையின் மேலே செயல்படும் பயன்பாடுகளை முதலில் முடக்கவும்"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"அமைப்புகளைத் திற"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Wear இல் நிறுவுதல்/நிறுவல் நீக்குதலுக்கு ஆதரவில்லை."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Wear இல் நிறுவுதல்/நிறுவல் நீக்குதலுக்கு ஆதரவில்லை."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> புதுப்பிக்கப்பட்டது. பின்வருவனவற்றை அணுக <xliff:g id="APP_NAME_1">%1$s</xliff:g>ஐ அனுமதிக்கவா?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"<xliff:g id="APP_NAME">%1$s</xliff:g> என்ன அணுகலாம் என்பதைத் தேர்வுசெய்யவும்"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> புதுப்பிக்கப்பட்டது. இந்தப் பயன்பாடு என்ன அணுகலாம் என்பதைத் தேர்வுசெய்யவும்"</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"ரத்துசெய்"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"தொடர்க"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"புதிய அனுமதிகள்"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"தற்போதைய அனுமதிகள்"</string>
+ <string name="message_staging" msgid="6151794817691100003">"பயன்பாடு தயாராகிறது…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"தெரியாதது"</string>
</resources>
diff --git a/res/values-te-rIN-television/strings.xml b/res/values-te-rIN-television/strings.xml
index 5fc27106..99dddd92 100644
--- a/res/values-te-rIN-television/strings.xml
+++ b/res/values-te-rIN-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"మీరు దీన్ని తర్వాత సెట్టింగ్‌లు &gt; అనువర్తనాల్లో మార్చవచ్చు"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"సిస్టమ్ అనువర్తనాలను చూపు"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"అనువర్తన అనుమతులు"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"అనువర్తన అనుమతులు"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> అనుమతులు"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"అదనపు అనుమతులు"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> అనుమతులు"</string>
</resources>
diff --git a/res/values-te-rIN/strings.xml b/res/values-te-rIN/strings.xml
index ddcfcc50..ef0c9f05 100644
--- a/res/values-te-rIN/strings.xml
+++ b/res/values-te-rIN/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"మీరు ఈ ప్రస్తుత అనువర్తనానికి నవీకరణను ఇన్‌స్టాల్ చేయాలనుకుంటున్నారా? మీ ప్రస్తుత డేటాను కోల్పోవడం సంభవించదు. దీనికి ఎటువంటి ప్రత్యేక ప్రాప్యత అవసరం లేదు."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"మీరు ఈ అంతర్నిర్మిత అనువర్తనానికి నవీకరణను ఇన్‌స్టాల్ చేయాలనుకుంటున్నారా? మీ ప్రస్తుత డేటాను కోల్పోవడం సంభవించదు. దీనికి ఎటువంటి ప్రత్యేక ప్రాప్యత అవసరం లేదు."</string>
<string name="install_failed" msgid="6579998651498970899">"అనువర్తనం ఇన్‌స్టాల్ చేయబడలేదు."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"ప్యాకేజీ ఇన్‌స్టాల్ కాకుండా బ్లాక్ చేయబడింది."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"ప్యాకేజీకి ఇప్పటికే అదే పేరుతో ఉన్న ప్యాకేజీతో వైరుధ్యం తలెత్తుతోంది."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"ఈ అనువర్తనం మీ టాబ్లెట్‌కు అనుకూలంగా లేదు."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"ఈ అనువర్తనం మీ టీవీకి అనుకూలంగా లేదు."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"ఈ అనువర్తనం మీ ఫోన్‌కు అనుకూలంగా లేదు."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"ప్యాకేజీ పాడయినట్లుగా కనిపిస్తోంది."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"అదే పేరుతో వైరుధ్య సంతకం గల ప్రస్తుత ప్యాకేజీ ఇప్పటికే ఇన్‌స్టాల్ చేయబడింది."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"ప్యాకేజీ Android యొక్క సరికొత్త సంస్కరణల్లో మాత్రమే పని చేస్తుంది."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"ఈ అనువర్తనం మీ టాబ్లెట్‌కు అనుకూలంగా లేదు."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"ఈ అనువర్తనం మీ టీవీకి అనుకూలంగా లేదు."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"ఈ అనువర్తనం మీ ఫోన్‌కు అనుకూలంగా లేదు."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"ఇన్‌స్టాలేషన్ పూర్తవడానికి ముందే పేర్కొనబడిన ప్యాకేజీ తొలగించబడింది."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"ప్యాకేజీ ధృవీకరణలో ఉత్తీర్ణత సాధించలేదు, ఆ కారణంగా ఇన్‌స్టాల్ చేయబడదు."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"ఈ ప్యాకేజీని ధృవీకరించడానికి ప్రయత్నిస్తున్నప్పుడు సమయం ముగిసింది. దీన్ని తర్వాత మళ్లీ ఇన్‌స్టాల్ చేయడానికి ప్రయత్నించండి."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g>ను మీ టాబ్లెట్‌లో ఇన్‌స్టాల్ చేయడం సాధ్యపడలేదు."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g>ని మీ టీవీలో ఇన్‌స్టాల్ చేయడం సాధ్యపడలేదు."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g>ను మీ ఫోన్‌లో ఇన్‌స్టాల్ చేయడం సాధ్యపడలేదు."</string>
<string name="launch" msgid="4826921505917605463">"తెరవండి"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"ఇన్‌స్టాల్ బ్లాక్ చేయబడింది"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"భద్రత కోసం, మీ టాబ్లెట్ తెలియని మూలాల నుండి పొందిన అను. ఇన్‌స్టా. బ్లాక్ చేయబడేలా సెట్ చేయబడింది."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"భద్రత కోసం, మీ టీవీ తెలియని మూలాల నుండి పొందే అనువర్తనాల ఇన్‌స్టా. బ్లాక్ చేయడానికి సెట్ చేయబడింది."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"భద్రత కోసం, మీ ఫోన్ తెలియని మూలాల నుండి పొందిన అను. ఇన్‌స్టాలేషన్ బ్లాక్ చేయబడేలా సెట్ చేయబడింది."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"మీ నిర్వాహకుడు తెలియని మూలాల నుండి పొందిన అనువర్తనాల ఇన్‌స్టలేషన్‌ను అనుమతించలేదు."</string>
<string name="ok" msgid="3468756155452870475">"సరే"</string>
<string name="settings" msgid="6743583734099755409">"సెట్టింగ్‌లు"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"అనువర్తనాల కోసం కొత్త మూలం"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> ఇతర అనువర్తనాలను ఇన్‌స్టాల్ చేయాలనుకుంటోంది.\n\nఇప్పుడు మరియు భవిష్యత్తులో దీన్ని అనుమతించాలా?"</string>
<string name="manage_applications" msgid="4033876279091996596">"అనువర్తనాలను నిర్వహించండి"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"అనువర్తనాన్ని భర్తీ చేయాలా?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"మీరు ఇన్‌స్టాల్ చేస్తున్న అనువర్తనం మరో అనువర్తనాన్ని భర్తీ చేస్తుంది.\n\nమీ మునుపు వినియోగదారు డేటా మొత్తం సేవ్ చేయబడుతుంది."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"మీరు ఈ అనువర్తనాన్ని అన్‌ఇన్‌స్టాల్ చేయాలనుకుంటున్నారా?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"మీరు ఈ అనువర్తనాన్ని "<b>"మొత్తం"</b>" వినియోగదారులకు అన్‌ఇన్‌స్టాల్ చేయాలనుకుంటున్నారా? అనువర్తనం మరియు దీని డేటా పరికరంలోని "<b>"మొత్తం"</b>" వినియోగదారుల నుండి తీసివేయబడుతుంది."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"మీరు వినియోగదారు <xliff:g id="USERNAME">%1$s</xliff:g> కోసం ఈ అనువర్తనాన్ని అన్‌ఇన్‌స్టాల్ చేయాలనుకుంటున్నారా?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"మీరు ఈ అనువర్తనాన్ని ఫ్యాక్టరీ సంస్కరణతో భర్తీ చేయాలనుకుంటున్నారా?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"ఈ అనువర్తనాన్ని ఫ్యాక్టరీ సంస్కరణతో భర్తీ చేయాలా? మొత్తం డేటా తీసివేయబడుతుంది."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"ఈ అనువర్తనాన్ని ఫ్యాక్టరీ సంస్కరణతో భర్తీ చేయాలా? మొత్తం డేటా తీసివేయబడుతుంది. దీని ప్రభావం కార్యాలయ ప్రొఫైల్‌లు కలిగి ఉన్నవారితో సహా ఈ పరికర వినియోగదారులందరిపై ఉంటుంది."</string>
<string name="uninstalling" msgid="5556217435895938250">"అన్‌ఇన్‌స్టాల్ చేస్తోంది…"</string>
<string name="uninstall_done" msgid="3792487853420281888">"అన్‌ఇన్‌స్టాల్ చేయడం ముగిసింది."</string>
<string name="uninstall_failed" msgid="631122574306299512">"అన్‌ఇన్‌స్టాల్ చేయడం విజయవంతం కాలేదు."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"ఈ ప్యాకేజీ సక్రియ పరికర నిర్వాహికి అయినందున అన్‌ఇన్‌స్టాల్ చేయడం సాధ్యపడదు."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"ఈ ప్యాకేజీ <xliff:g id="USERNAME">%1$s</xliff:g> వినియోగదారుకి సక్రియ పరికర నిర్వాహికి అయినందున దీన్ని అన్ఇ. చేయలేరు."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"మీ కార్యాలయ ప్రొఫైల్ కోసం ఈ అనువర్తనం అవసరం, కనుక దీన్ని అన్ఇన్‌స్టాల్ చేయలేరు."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"ఈ అనువర్తనం కొందరు వినియోగదారులకు లేదా కొన్ని ప్రొఫైల్‌లకు అవసరం, ఇతరులకు అన్‌ఇన్‌స్టాల్ చేయబడింది"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"మీ ప్రొఫైల్ కోసం ఈ అనువర్తనం అవసరం మరియు దీన్ని అన్ఇన్‌స్టాల్ చేయలేరు."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"మీ పరికర నిర్వాహకుడికి ఈ అనువర్తనం అవసరం, అందువల్ల దీన్ని అన్‌ఇన్‌స్టాల్ చేయడం కుదరదు."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"పరికర నిర్వాహకులను నిర్వహించండి"</string>
+ <string name="manage_users" msgid="3125018886835668847">"వినియోగదారులను నిర్వహించు"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g>ని అన్‌ఇన్‌స్టాల్ చేయడం సాధ్యపడలేదు."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"అన్వయ దోషం"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"ప్యాకేజీని అన్వయించడంలో సమస్య ఏర్పడింది."</string>
<string name="newPerms" msgid="6039428254474104210">"కొత్తవి"</string>
<string name="allPerms" msgid="1024385515840703981">"అన్నీ"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"పరికరం ప్రాప్యత"</string>
<string name="no_new_perms" msgid="6657813692169565975">"ఈ నవీకరణకు కొత్త అనుమతులు అవసరం లేదు."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"మీరు క్రింది అనుమతులను మంజూరు చేయాలనుకుంటున్నారా? ఇది వీటికి ప్రాప్యత పొందుతుంది:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"అనుమతించు"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"తిరస్కరించు"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"ఏదేమైనా నిరాకరించు"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>లో <xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"<xliff:g id="ACTION">%2$s</xliff:g> <xliff:g id="APP_NAME">%1$s</xliff:g>ని అనుమతించాలా?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;ని <xliff:g id="ACTION">%2$s</xliff:g> చేయడానికి అనుమతించాలా?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"అనుమతించు"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"అనువర్తనాలు"</string>
<string name="app_permissions" msgid="3146758905824597178">"అనువర్తన అనుమతులు"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"మళ్లీ ఎప్పుడూ అడగవద్దు"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"మళ్లీ అడగవద్దు"</string>
<string name="no_permissions" msgid="3210542466245591574">"అనుమతులు లేవు"</string>
<string name="additional_permissions" msgid="6667573114240111763">"అదనపు అనుమతులు"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"ఈ అనుమతి సెట్టింగ్‌ను మార్చడానికి, మీరు ముందుగా సెట్టింగ్‌లు &gt; అనువర్తనాల నుండి స్క్రీన్ అతివ్యాప్తిని ఆఫ్ చేయాలి"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"సెట్టింగ్‌లను తెరువు"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android వేర్"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"వేర్‌లో ఇన్‌స్టాల్/అన్ఇన్‌స్టాల్ చర్యలకు మద్దతు లేదు"</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Wearలో ఇన్‌స్టాల్/అన్ఇన్‌స్టాల్ చర్యలకు మద్దతు లేదు."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> నవీకరించబడింది. క్రింది వాటిని ప్రాప్యత చేయడానికి <xliff:g id="APP_NAME_1">%1$s</xliff:g>ని అనుమతించాలా?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"<xliff:g id="APP_NAME">%1$s</xliff:g> ప్రాప్యత చేయడానికి వేటిని అనుమతించాలో ఎంచుకోండి"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> నవీకరించబడింది. ఈ అనువర్తనం ప్రాప్యత చేయడానికి వేటిని అనుమతించాలో ఎంచుకోండి."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"రద్దు చేయి"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"కొనసాగించు"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"కొత్త అనుమతులు"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"ప్రస్తుత అనుమతులు"</string>
+ <string name="message_staging" msgid="6151794817691100003">"అనువర్తనాన్ని అందిస్తోంది…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"తెలియదు"</string>
</resources>
diff --git a/res/values-television/colors.xml b/res/values-television/colors.xml
index 08209600..6afe2483 100644
--- a/res/values-television/colors.xml
+++ b/res/values-television/colors.xml
@@ -22,6 +22,8 @@
<color name="lb_action_fragment_background">#FF111111</color>
<color name="lb_dialog_activity_background">#77000000</color>
+ <color name="lb_header_banner_color">#1f292d</color>
+
<color name="grant_permissions_background_color">#ff263238</color>
<color name="grant_permissions_app_color">@color/grant_permissions_white_text_alpha_100</color>
<color name="grant_permissions_progress_color">@color/grant_permissions_white_text_alpha_100</color>
diff --git a/res/values-television/strings.xml b/res/values-television/strings.xml
index f1d17469..c11d865c 100644
--- a/res/values-television/strings.xml
+++ b/res/values-television/strings.xml
@@ -28,4 +28,11 @@
<!-- Preference row title for showing system apps. -->
<string name="preference_show_system_apps">Show system apps</string>
+
+ <!--decor title displayed as the page title for different TV permission screens-->
+ <string name="app_permissions_decor_title">App permissions</string>
+ <string name="manage_permissions_decor_title">App permissions</string>
+ <string name="permission_apps_decor_title"><xliff:g id="permission" example="Camera">%1$s</xliff:g> permissions</string>
+ <string name="additional_permissions_decor_title">Additional permissions</string>
+ <string name="system_apps_decor_title"><xliff:g id="permission" example="Camera">%1$s</xliff:g> permissions</string>
</resources>
diff --git a/res/values-television/themes.xml b/res/values-television/themes.xml
index f6946f68..f778fad2 100644
--- a/res/values-television/themes.xml
+++ b/res/values-television/themes.xml
@@ -17,7 +17,11 @@
<resources>
<style name="Settings" parent="Theme.Leanback">
- <item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Permissions</item>
+ <item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Leanback</item>
+ <item name="android:windowBackground">@android:color/transparent</item>
+ <item name="android:windowIsTranslucent">true</item>
+ <item name="android:backgroundDimEnabled">true</item>
+ <item name="android:backgroundDimAmount">0.8</item>
</style>
<style name="GrantPermissions" parent="Theme.Leanback">
diff --git a/res/values-th-television/strings.xml b/res/values-th-television/strings.xml
index eba9c53e..26d2fc8f 100644
--- a/res/values-th-television/strings.xml
+++ b/res/values-th-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"คุณสามารถเปลี่ยนได้ภายหลังในการตั้งค่า &gt; แอป"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"แสดงแอประบบ"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"สิทธิ์ของแอป"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"สิทธิ์ของแอป"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"สิทธิ์เข้าถึง<xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"สิทธิ์เพิ่มเติม"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"สิทธิ์เข้าถึง<xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 8ca2486d..a65415e7 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"คุณต้องการติดตั้งการอัปเดตไปยังแอปพลิเคชันที่มีอยู่นี้หรือไม่ ข้อมูลที่มีอยู่ของคุณจะไม่สูญหาย การอัปเดตนี้ไม่จำเป็นต้องใช้การเข้าถึงใดๆ เป็นพิเศษ"</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"คุณต้องการติดตั้งการอัปเดตไปยังแอปพลิเคชันในตัวนี้หรือไม่ ข้อมูลที่มีอยู่ของคุณจะไม่สูญหาย การอัปเดตนี้ไม่จำเป็นต้องใช้การเข้าถึงใดๆ เป็นพิเศษ"</string>
<string name="install_failed" msgid="6579998651498970899">"ไม่ได้ติดตั้งแอปพลิเคชัน"</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"มีการบล็อกแพ็กเกจไม่ให้ติดตั้ง"</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"แพ็กเกจขัดแย้งกับแพ็กเกจที่มีอยู่โดยมีชื่อเดียวกัน"</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"แอปนี้ไม่สามารถใช้งานกับแท็บเล็ตของคุณ"</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"แอปนี้ไม่สามารถใช้งานกับทีวีของคุณ"</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"แอปนี้ไม่สามารถใช้งานกับโทรศัพท์ของคุณ"</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"แพ็กเกจเกิดความเสียหาย"</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"มีแพ็กเกจชื่อเดียวกันซึ่งมีลายเซ็นที่ขัดแย้งติดตั้งไว้อยู่แล้ว"</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"แพ็กเกจนี้จะทำงานบน Android รุ่นใหม่กว่านี้เท่านั้น"</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"แอปพลิเคชันนี้ไม่สามารถทำงานร่วมกับแท็บเล็ตของคุณได้"</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"แอปนี้ไม่สามารถใช้งานกับทีวีของคุณได้"</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"แอปพลิเคชันนี้ไม่สามารถทำงานร่วมกับโทรศัพท์ของคุณได้"</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"แพ็กเกจที่ระบุไว้ถูกลบออกก่อนที่การติดตั้งจะเสร็จสมบูรณ์"</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"แพ็กเกจไม่ผ่านการยืนยันและไม่สามารถติดตั้ง"</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"ถึงระยะหมดเวลาขณะที่พยายามยืนยันแพ็กเกจนี้ โปรดลองติดตั้งอีกครั้งในภายหลัง"</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"ไม่สามารถติดตั้ง <xliff:g id="APP_NAME">%1$s</xliff:g> บนแท็บเล็ตของคุณ"</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> ไม่สามารถติดตั้งบนทีวีได้"</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"ไม่สามารถติดตั้ง <xliff:g id="APP_NAME">%1$s</xliff:g> บนโทรศัพท์ของคุณ"</string>
<string name="launch" msgid="4826921505917605463">"เปิด"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"ปิดกั้นการติดตั้งไว้"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"เพื่อความปลอดภัย แท็บเล็ตของคุณถูกตั้งค่าให้บล็อกการติดตั้งแอปพลิเคชันที่ได้มาจากแหล่งที่ไม่รู้จัก"</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"เพื่อความปลอดภัย มีการกำหนดให้ทีวีของคุณบล็อกการติดตั้งแอปจากแหล่งที่มาที่ไม่รู้จัก"</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"เพื่อความปลอดภัย โทรศัพท์ของคุณถูกตั้งค่าให้บล็อกการติดตั้งแอปพลิเคชันที่ได้มาจากแหล่งที่ไม่รู้จัก"</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"ผู้ดูแลระบบของคุณไม่อนุญาตให้ติดตั้งแอปที่ได้มาจากแหล่งที่มาที่ไม่รู้จัก"</string>
<string name="ok" msgid="3468756155452870475">"ตกลง"</string>
<string name="settings" msgid="6743583734099755409">"การตั้งค่า"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"แหล่งใหม่สำหรับแอปพลิเคชัน"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> ต้องการติดตั้งแอปพลิเคชันอื่นๆ \n\nคุณต้องการอนุญาตในครั้งนี้และในอนาคตหรือไม่"</string>
<string name="manage_applications" msgid="4033876279091996596">"จัดการแอปพลิเคชัน"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"แทนที่แอปพลิเคชันหรือไม่"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"แอปพลิเคชันที่คุณกำลังติดตั้งจะไปแทนที่แอปพลิเคชันอื่น\n\nข้อมูลผู้ใช้ทั้งหมดของคุณก่อนหน้านี้จะได้รับการบันทึกไว้"</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"คุณต้องการถอนการติดตั้งแอปพลิเคชันนี้หรือไม่"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"คุณต้องการถอนการติดตั้งแอปพลิเคชันนี้สำหรับผู้ใช้"<b>"ทั้งหมด"</b>"หรือไม่ แอปพลิเคชันนี้และข้อมูลในแอปพลิเคชันจะถูกลบจากผู้ใช้"<b>"ทั้งหมด"</b>"ในอุปกรณ์"</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"คุณต้องการถอนการติดตั้งแอปนี้สำหรับผู้ใช้ <xliff:g id="USERNAME">%1$s</xliff:g> ไหม"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"คุณต้องการแทนที่แอปพลิเคชันนี้ด้วยรุ่นจากโรงงานหรือไม่"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"แทนที่แอปนี้ด้วยเวอร์ชันเริ่มต้นไหม ระบบจะนำข้อมูลทั้งหมดออก"</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"แทนที่แอปนี้ด้วยเวอร์ชันเริ่มต้นไหม ระบบจะนำข้อมูลทั้งหมดออก วิธีนี้ส่งผลต่อผู้ใช้ทุกคนที่ใช้อุปกรณ์เครื่องนี้ รวมทั้งผู้ที่มีโปรไฟล์งาน"</string>
<string name="uninstalling" msgid="5556217435895938250">"กำลังถอนการติดตั้ง..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"ถอนการติดตั้งเสร็จแล้ว"</string>
<string name="uninstall_failed" msgid="631122574306299512">"ถอนการติดตั้งไม่สำเร็จ"</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"ไม่สามารถถอนการติดตั้งเนื่องจากแพ็กเกจนี้เป็นโปรแกรมควบคุมอุปกรณ์ที่ใช้งานอยู่"</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"ไม่สามารถถอนการติดตั้ง เนื่องจากปัจจุบันแพ็กเกจนี้ดูแลระบบอุปกรณ์สำหรับผู้ใช้ <xliff:g id="USERNAME">%1$s</xliff:g>"</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"จำเป็นต้องใช้แอปนี้สำหรับโปรไฟล์งานและไม่สามารถถอนการติดตั้งได้"</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"แอปนี้จำเป็นสำหรับผู้ใช้หรือโปรไฟล์บางส่วน และถอนการติดตั้งไปแล้วสำหรับส่วนอื่น"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"แอปนี้จำเป็นสำหรับโปรไฟล์ของคุณและไม่สามารถถอนการติดตั้งได้"</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"ผู้ดูแลระบบอุปกรณ์กำหนดให้ใช้แอปนี้ และไม่สามารถถอนการติดตั้งได้"</string>
<string name="manage_device_administrators" msgid="891392489300312370">"จัดการโปรแกรมควบคุมอุปกรณ์"</string>
+ <string name="manage_users" msgid="3125018886835668847">"จัดการผู้ใช้"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"ไม่สามารถถอดการติดตั้ง <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"ข้อผิดพลาดในการแยกวิเคราะห์"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"พบปัญหาในการแยกวิเคราะห์แพ็กเกจ"</string>
<string name="newPerms" msgid="6039428254474104210">"ใหม่"</string>
<string name="allPerms" msgid="1024385515840703981">"ทั้งหมด"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"การเข้าถึงอุปกรณ์"</string>
<string name="no_new_perms" msgid="6657813692169565975">"การอัปเดตนี้ไม่จำเป็นต้องมีการอนุญาตใหม่"</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"คุณต้องการให้อนุญาตรายการต่อไปนี้หรือไม่ ระบบจะให้สิทธิ์การเข้าถึงแก่"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"อนุญาต"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"ปฏิเสธ"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"ปฏิเสธอยู่ต่อไป"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> จาก <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g> รายการ"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"อนุญาตให้ <xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="ACTION">%2$s</xliff:g> ไหม"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"อนุญาตให้ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; <xliff:g id="ACTION">%2$s</xliff:g>ไหม"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"อนุญาต"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"แอป"</string>
<string name="app_permissions" msgid="3146758905824597178">"สิทธิ์ของแอป"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"ไม่ต้องถามอีก"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"ไม่ต้องถามอีก"</string>
<string name="no_permissions" msgid="3210542466245591574">"ไม่มีสิทธิ์"</string>
<string name="additional_permissions" msgid="6667573114240111763">"สิทธิ์เพิ่มเติม"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"ในการเปลี่ยนแปลงการตั้งค่าสิทธิ์นี้ ก่อนอื่น คุณต้องปิดการวางซ้อนหน้าจอที่การตั้งค่า &gt; แอป"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"เปิดการตั้งค่า"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"ไม่สามารถติดตั้ง/ถอนการติดตั้งบน Wear"</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"ไม่สามารถติดตั้ง/ถอนการติดตั้งบน Wear"</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"อัปเดต <xliff:g id="APP_NAME_0">%1$s</xliff:g> แล้ว อนุญาตให้ <xliff:g id="APP_NAME_1">%1$s</xliff:g> เข้าถึงข้อมูลต่อไปนี้ใช่ไหม"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"โปรดเลือกข้อมูลที่อนุญาตให้ <xliff:g id="APP_NAME">%1$s</xliff:g> เข้าถึง"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"อัปเดต <xliff:g id="APP_NAME">%1$s</xliff:g> แล้ว โปรดเลือกข้อมูลที่อนุญาตให้แอปนี้เข้าถึง"</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"ยกเลิก"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"ต่อไป"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"สิทธิ์ใหม่"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"สิทธิ์ปัจจุบัน"</string>
+ <string name="message_staging" msgid="6151794817691100003">"กำลังปรับสภาพแวดล้อมของแอป…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"ไม่ทราบ"</string>
</resources>
diff --git a/res/values-tl-television/strings.xml b/res/values-tl-television/strings.xml
index 074886db..df5b98f9 100644
--- a/res/values-tl-television/strings.xml
+++ b/res/values-tl-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Mababago mo ito sa ibang pagkakataon sa Mga Setting &gt; Mga App"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Ipakita ang mga app ng system"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Mga pahintulot sa app"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Mga pahintulot sa app"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Mga pahintulot sa <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Mga karagdagang pahintulot"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Mga pahintulot sa <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index f8eead24..c13dba8e 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Nais mo bang mag-install ng update sa umiiral na application na ito? Hindi mawawala ang iyong umiiral na data. Hindi ito nangangailangan ng anumang espesyal na access."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Nais mo bang mag-install ng update sa built-in na application na ito? Hindi mawawala ang iyong umiiral na data. Hindi ito nangangailangan ng anumang espesyal na access."</string>
<string name="install_failed" msgid="6579998651498970899">"Hindi na-install ang app."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Na-block ang pag-install sa package."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Nagkakaproblema ang package sa isang dati nang package na kapareho nito ng pangalan."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Hindi compatible ang app na ito sa iyong tablet."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Hindi compatible ang app na ito sa iyong TV."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Hindi compatible ang app na ito sa iyong telepono."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Lumilitaw na corrupt ang package."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Naka-install na ang isang umiiral na package na may parehong pangalan na may sumasalungat na lagda."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Gumagana lamang ang package sa mga mas bagong bersyon ng Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Hindi tugma ang app na ito sa iyong tablet."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Hindi tumutugma ang app na ito sa iyong TV."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Hindi tugma ang app na ito sa iyong telepono."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Natanggal ang tinukoy na package bago makumpleto ang pag-install."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Ang package ay hindi pumasa sa pagpapatunay at hindi maaaring ma-install."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"May naganap na timeout habang sinusubukang i-verify ang package. Subukan itong i-install muli."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"Hindi ma-install ang <xliff:g id="APP_NAME">%1$s</xliff:g> sa iyong tablet."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"Ang <xliff:g id="APP_NAME">%1$s</xliff:g> ay hindi ma-install sa iyong TV."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"Hindi ma-install ang <xliff:g id="APP_NAME">%1$s</xliff:g> sa iyong telepono."</string>
<string name="launch" msgid="4826921505917605463">"Buksan"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Naka-block ang pag-install"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Pra sa seguridad, nka-set ang tablet mong i-block ang pag-install ng apps mula sa di-klalang source."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Para sa seguridad, nakatakda ang iyong TV sa i-block ang pag-i-install ng mga app na nakuha mula sa mga hindi alam na pinagmulan."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Pra sa seguridd, naka-set ang phone mong i-block ang pag-install ng apps mula sa di-kilalang source."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Hindi pinapayagan ng iyong administrator ang pag-install ng mga app na nakuha mula sa mga hindi alam na pinagmulan."</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"Mga Setting"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Bagong pinagmumulan para sa apps"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"Gustong mag-install ng <xliff:g id="APP_NAME">%1$s</xliff:g> ng iba pang apps.\n\nPayagan ito ngayon at sa hinaharap?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Pamahalaan ang apps"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Palitan ang app?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Papalitan ng app na iyong ini-install ang isa pang app.\n\nMase-save ang lahat ng iyong nakaraang data ng user."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Nais mo bang i-uninstall ang app na ito?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Nais mo bang i-uninstall ang app na ito para sa "<b>"lahat"</b>" ng user? Aalisin ang application at ang data nito mula sa "<b>"lahat"</b>" ng user sa device."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Gusto mo bang i-uninstall ang app na ito para sa user na si <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Nais mo bang palitan ang app na ito ng bersyon ng factory?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Gusto mo bang palitan ang app na ito ng factory na bersyon? Maaalis ang lahat ng data."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Gusto mo bang palitan ang app na ito ng factory na bersyon? Maaalis ang lahat ng data. Nakakaapekto ito sa lahat ng user ng device na ito, kasama ang mga may profile sa trabaho."</string>
<string name="uninstalling" msgid="5556217435895938250">"Ina-uninstall…"</string>
<string name="uninstall_done" msgid="3792487853420281888">"Natapos ang pag-uninstall."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Di-matagumpay ang pag-uninstall."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Hindi ma-uninstall dahil aktibong administrator ng device ang package na ito."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Aktibong administrator ng device para sa user <xliff:g id="USERNAME">%1$s</xliff:g> itong package, hindi ma-uninstall."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Kinakailangan ang app na ito sa iyong profile sa trabaho at hindi maaaring i-install."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Ang app na ito ay kailangan ng ilang user o profile at na-uninstall na ito sa iba pa"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Ang app na ito ay kailangan para sa iyong profile at hindi maaaring i-uninstall."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Kinakailangan app na ito ng administrator ng device mo at di maaari i-uninstall."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Pamahalaan ang mga administrator ng device"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Pamahalaan ang mga user"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"Hindi ma-install ang <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Error sa pag-parse"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Nagkaroon ng problema sa pag-parse sa package."</string>
<string name="newPerms" msgid="6039428254474104210">"Bago"</string>
<string name="allPerms" msgid="1024385515840703981">"Lahat"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Access sa Device"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Walang kinakailangang mga bagong pagpapahintulot ang update na ito."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Gusto mo bang ibigay ang mga sumusunod na pahintulot? Magkakaroon ito ng access sa:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Payagan"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Tanggihan"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Tanggihan pa rin"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> ng <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Payagan ang <xliff:g id="APP_NAME">%1$s</xliff:g> na <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Payagan ang &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; na <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Payagan"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Mga App"</string>
<string name="app_permissions" msgid="3146758905824597178">"Mga pahintulot sa app"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Huwag kailanman itanong muli"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Huwag nang tatanunging muli"</string>
<string name="no_permissions" msgid="3210542466245591574">"Walang mga pahintulot"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Mga karagdagang pahintulot"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Upang baguhin ang setting ng pahintulot na ito, kailangan mo munang i-off ang overlay ng screen mula sa Mga Setting &gt; Mga App"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Buksan ang mga setting"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"I-install/I-uninstall ang mga pagkilos na hindi sinusuportahan sa Wear."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Ang mga pagkilos na I-install/I-uninstall ay hindi sinusuportahan sa Wear."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"Na-update na ang <xliff:g id="APP_NAME_0">%1$s</xliff:g>. Papayagan ang <xliff:g id="APP_NAME_1">%1$s</xliff:g> na i-access ang sumusunod?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Piliin kung ano ang papayagang i-access ng <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"Na-update na ang <xliff:g id="APP_NAME">%1$s</xliff:g>. Piliin kung ano ang papayagang i-access ng app na ito."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Kanselahin"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Magpatuloy"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Mga bagong pahintulot"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Mga kasalukuyang pahintulot"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Inihahanda ang app…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Hindi Alam"</string>
</resources>
diff --git a/res/values-tr-television/strings.xml b/res/values-tr-television/strings.xml
index ab51750e..7ed0a685 100644
--- a/res/values-tr-television/strings.xml
+++ b/res/values-tr-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Bu ayarı daha sonra Ayarlar &gt; Uygulamalar\'dan değiştirebilirsiniz"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Sistem uygulamalarını göster"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Uygulama izinleri"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Uygulama izinleri"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> izinleri"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Ek izinler"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> izinleri"</string>
</resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index e41aa52d..c7d64fde 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Bu mevcut uygulamaya ait bir güncellemeyi yüklemek istiyor musunuz? Mevcut verileriniz kaybolacaktır. Herhangi bir özel erişim gerektirmez."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Bu yerleşik uygulamaya ait bir güncellemeyi yüklemek istiyor musunuz? Mevcut verileriniz kaybolacaktır. Herhangi bir özel erişim gerektirmez."</string>
<string name="install_failed" msgid="6579998651498970899">"Uygulama yüklenmedi."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Paketin yüklemesi engellendi."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Paket, aynı ada sahip başka bir paketle çakışıyor."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Bu uygulama tabletinizle uyumlu değil."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Bu uygulama TV\'niz ile uyumlu değil."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Bu uygulama telefonunuzla uyumlu değil."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Paket bozuk görünüyor."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Adı aynı olan, farklı imzaya sahip mevcut bir paket zaten yüklü."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Paket yalnızca, Android\'in daha yeni sürümlerinde çalışır."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Bu uygulama tabletinizle uyumlu değil."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Bu uygulama TV\'niz ile uyumlu değil."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Bu uygulama telefonunuzla uyumlu değil."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Belirtilen paket, yükleme tamamlanamadan silindi."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Paket, doğrulamayı geçmedi ve yüklenemez."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Bu paket doğrulanmaya çalışılırken zaman aşımı oluştu. Daha sonra tekrar yüklemeyi deneyin."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> bu tabletinize yüklenemedi."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> TV\'nize yüklenemedi."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g> bu telefonunuza yüklenemedi."</string>
<string name="launch" msgid="4826921505917605463">"Aç"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Yükleme engellendi"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Güvenlik amacıyla, tabletiniz bilinmeyen kaynaklardan alınan uygulamaların yüklenmesini engelleyecek şekilde ayarlandı."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Güvenlik amacıyla, TV\'niz bilinmeyen kaynaklardan alınan uygulamaların yüklenmesini engellemeye ayarlıdır."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Güvenlik amacıyla, telefonunuz bilinmeyen kaynaklardan alınan uygulamaların yüklenmesini engelleyecek şekilde ayarlandı."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Yöneticiniz, bilinmeyen kaynaklardan edinilen uygulamaların yüklenmesine izin vermiyor."</string>
<string name="ok" msgid="3468756155452870475">"Tamam"</string>
<string name="settings" msgid="6743583734099755409">"Ayarlar"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Uygulamalar için yeni kaynak"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> başka uygulamalar yüklemek istiyor .\n\nBuna şimdi ve gelecekte izin vermek istiyor musunuz?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Uygulamaları yönet"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Uygulama değiştirilsin mi?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Yüklemekte olduğunuz uygulama, başka bir uygulamanın yerini alacak.\n\nÖnceki kullanıcı verileriniz kaydedilecektir."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Bu uygulamanın yüklemesini kaldırmak istiyor musunuz?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Bu uygulamanın yüklemesini "<b>"tüm"</b>" kullanıcılar için kaldırmak istiyor musunuz? Uygulama ve verileri cihazdan "<b>"tüm"</b>" kullanıcılar için kaldırılacaktır."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"<xliff:g id="USERNAME">%1$s</xliff:g> adlı kullanıcı için bu uygulamanın yüklemesini kaldırmak istiyor musunuz?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Bu uygulamayı fabrika sürümüyle değiştirmek istiyor musunuz?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Bu uygulamayı fabrika sürümüyle değiştirmek istiyor musunuz? Tüm veriler silinecektir."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Bu uygulamayı fabrika sürümüyle değiştirmek istiyor musunuz? Tüm veriler silinecektir. Bu, çalışma profilleri olan kullanıcılar da dahil olmak üzere cihazı kullanan tüm kullanıcıları etkiler."</string>
<string name="uninstalling" msgid="5556217435895938250">"Kaldırılıyor…"</string>
<string name="uninstall_done" msgid="3792487853420281888">"Kaldırma işlemi tamamlandı."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Yükleme kaldırılamadı."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Bu paket, etkin bir cihaz yöneticisi olduğundan yüklemesi kaldırılamıyor."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Bu paket <xliff:g id="USERNAME">%1$s</xliff:g> adlı kullanıcı için aktif bir cihaz yöneticisi olduğundan yüklemesi kaldırılamıyor."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Çalışma profiliniz için bu uygulama gerekli ve yüklemesi kaldırılamaz."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Bu uygulama bazı kullanıcılar veya profiller için gerekli ve diğerleri için uygulamanın yüklemesi kaldırıldı"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Profiliniz için bu uygulama gerekli ve yüklemesi kaldırılamaz."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Bu uygulama, cihazınızın yöneticisi için gereklidir ve yüklemesi kaldırılamaz."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Cihaz yöneticilerini yönet"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Kullanıcıları yönetme"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> kaldırılamadı."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Ayrıştırma hatası"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Paketin ayrıştırılmasında bir sorun oluştu."</string>
<string name="newPerms" msgid="6039428254474104210">"Yeni"</string>
<string name="allPerms" msgid="1024385515840703981">"Tümü"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Cihaz Erişimi"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Bu güncelleme yeni izin gerektirmiyor."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Aşağıdaki izinleri vermek istiyor musunuz? Şunlara erişebilecektir:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"İzin ver"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Reddet"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Yine de reddet"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"<xliff:g id="APP_NAME">%1$s</xliff:g> uygulamasına <xliff:g id="ACTION">%2$s</xliff:g> izni verilsin mi?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; uygulamasına <xliff:g id="ACTION">%2$s</xliff:g> için izin verilsin mi?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"İzin ver"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Uygulamalar"</string>
<string name="app_permissions" msgid="3146758905824597178">"Uygulama izinleri"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Bir daha sorma"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Tekrar sorma"</string>
<string name="no_permissions" msgid="3210542466245591574">"İzin yok"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Ek izinler"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Bu izin ayarını değiştirmek için ilk olarak Ayarlar &gt; Uygulamalar\'dan ekran yer paylaşımını kapatmanız gerekir"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Ayarları aç"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Yükleme/Yüklemeyi Kaldırma işlemleri Wear\'da desteklenmiyor."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Yükleme/Yüklemeyi Kaldırma işlemleri Wear\'da desteklenmiyor."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> güncellendi. <xliff:g id="APP_NAME_1">%1$s</xliff:g> uygulamasının aşağıdakilere erişmesine izin verilsin mi?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"<xliff:g id="APP_NAME">%1$s</xliff:g> uygulamasının nelere erişmesine izin verileceğini seçin"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> güncellendi. Bu uygulamanın nelere erişmesine izin verileceğini seçin."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"İptal"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Devam"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Yeni izinler"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Geçerli izinler"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Uygulama hazırlanıyor…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Bilinmiyor"</string>
</resources>
diff --git a/res/values-uk-television/strings.xml b/res/values-uk-television/strings.xml
index 1db8e422..f4b002f9 100644
--- a/res/values-uk-television/strings.xml
+++ b/res/values-uk-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Можна змінити згодом у меню \"Налаштування\" &gt; \"Додатки\""</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> з <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Показати системні додатки"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Дозволи додатка"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Дозволи додатка"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g>: дозволи"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Додаткові дозволи"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g>: дозволи"</string>
</resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index a78d828e..58e3e61c 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Хочете встановити оновлення для наявної програми? Ваші наявні дані не зникнуть. Спеціальний доступ не потрібен."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Хочете встановити оновлення для цієї вбудованої програми? Ваші наявні дані не зникнуть. Спеціальний доступ не потрібен."</string>
<string name="install_failed" msgid="6579998651498970899">"Додаток не встановлено."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Встановлення пакета заблоковано."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Пакет із таким ім’ям уже встановлено."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Цей додаток несумісний із вашим планшетом."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Цей додаток несумісний із вашим телевізором."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Цей додаток несумісний із вашим телефоном."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Імовірно, пакет пошкоджено."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Існуючий пакет із такою ж назвою з несумісним підписом уже встановлено."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Пакет працює лише на новіших версіях Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Ця програма не сумісна з вашим планшетним ПК."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Цей додаток несумісний із вашим телевізором."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Ця програма не сумісна з вашим телефоном."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Указаний пакет було видалено до ще закінчення процесу встановлення."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Пакет не пройшов перевірку та не може бути встановлений."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Під час спроби перевірки цього пакета виникла затримка. Повторіть спробу встановити його пізніше."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"Програму <xliff:g id="APP_NAME">%1$s</xliff:g> неможливо встановити у вашому планшетному ПК."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"Не вдалося встановити додаток <xliff:g id="APP_NAME">%1$s</xliff:g> на ваш телевізор."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"Програму <xliff:g id="APP_NAME">%1$s</xliff:g> неможливо встановити у вашому телефоні."</string>
<string name="launch" msgid="4826921505917605463">"Відкрити"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Встановл. заблок."</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Задля безпеки на вашому планшеті заблоковане встановлення додатків із невідомих джерел."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"З міркувань безпеки налаштування телевізора блокують встановлення додатків із невідомих джерел."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Задля безпеки на вашому телефоні заблоковане встановлення додатків із невідомих джерел."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Ваш адміністратор не дозволяє встановлювати додатки з невідомих джерел."</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"Налаштування"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Нове джерело для програм"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> хоче встановити інші програми. \n\nДозволити це зараз і надалі?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Керувати програмами"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Замінити програму?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Програма, яку ви встановлюєте, замінить іншу програму.\n\nУсі попередні дані користувача буде збережено."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Видалити цю програму?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Хочете видалити цю програму для "<b>"всіх"</b>" користувачів? Програму та її дані буде видалено для "<b>"всіх"</b>" користувачів цього пристрою."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Видалити цей додаток для користувача <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Замінити цю програму на заводську версію?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Відновити заводську версію цього додатка? Усі дані буде видалено."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Відновити заводську версію цього додатка? Усі дані буде видалено. Це вплине на всіх користувачів цього пристрою, зокрема на користувачів із робочими профілями."</string>
<string name="uninstalling" msgid="5556217435895938250">"Видалення..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Видалення завершено."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Видалення не здійснено."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Неможливо видалити. Цей пакет є активним адміністратором пристрою."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Не вдається видалити, оскільки цей пакет керує пристроєм користувача <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Цей додаток не можна видалити – він потрібен для вашого робочого профілю."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Цей додаток потрібен для деяких користувачів чи профілів, але його було видалено для інших"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Цей додаток потрібен для вашого профілю, тому його не можна видалити."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Цей додаток не можна видалити – не дозволяє адміністратор пристрою."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Керувати адміністраторами пристрою"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Керувати користувачами"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"Програму <xliff:g id="APP_NAME">%1$s</xliff:g> неможливо видалити."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Помилка аналізу"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Під час аналізу пакету виникла помилка."</string>
<string name="newPerms" msgid="6039428254474104210">"Нові"</string>
<string name="allPerms" msgid="1024385515840703981">"Усі"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Доступ до пристрою"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Для цього оновлення не потрібні нові дозволи."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Надати перелічені нижче дозволи? Програма отримає доступ до:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Дозволити"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Відхилити"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Усе одно відмовити"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> з <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Дозволити додатку <xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Дозволити додатку &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Дозволити"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Додатки"</string>
<string name="app_permissions" msgid="3146758905824597178">"Дозволи додатків"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Більше не запитувати"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Не запитувати знову"</string>
<string name="no_permissions" msgid="3210542466245591574">"Немає дозволів"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Додаткові дозволи"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -121,5 +118,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Щоб змінити налаштування цього дозволу, спершу вимкніть накладання на екрані в меню \"Налаштування\" &gt; \"Додатки\""</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Відкрити налаштування"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Функція \"Встановити/видалити\" не підтримується на пристроях Android Wear."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Дії \"установити\" або \"видалити\" не підтримуються на пристроях Android Wear."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> оновлено. Надати додатку <xliff:g id="APP_NAME_1">%1$s</xliff:g> вказані нижче дозволи?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Виберіть, до чого <xliff:g id="APP_NAME">%1$s</xliff:g> матиме доступ"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> оновлено. Виберіть, до чого цей додаток матиме доступ."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Скасувати"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Продовжити"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Нові дозволи"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Поточні дозволи"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Підготовка додатка…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Невідомо"</string>
</resources>
diff --git a/res/values-ur-rPK-television/strings.xml b/res/values-ur-rPK-television/strings.xml
index 234ef31a..27089dd0 100644
--- a/res/values-ur-rPK-television/strings.xml
+++ b/res/values-ur-rPK-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"آپ بعد میں ترتیبات &gt; ایپس میں جا کر اسے تبدیل کرسکتے ہیں"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"سسٹم ایپس دکھائیں"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"ایپ کی اجازتیں"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"ایپ کی اجازتیں"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> اجازتیں"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"اضافی اجازتیں"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> اجازتیں"</string>
</resources>
diff --git a/res/values-ur-rPK/strings.xml b/res/values-ur-rPK/strings.xml
index 51aa8e26..ead5fa1d 100644
--- a/res/values-ur-rPK/strings.xml
+++ b/res/values-ur-rPK/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"کیا آپ اس موجودہ ایپلیکیشن میں ایک اپ ڈیٹ انسٹال کرنا چاہتے ہیں؟ آپ کا موجودہ ڈیٹا ضائع نہیں ہوگا۔ اس کو کوئی خاص رسائی درکار نہیں۔"</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"کیا آپ پہلے سے شامل اس ایپلیکیشن میں ایک اپ ڈیٹ انسٹال کرنا چاہتے ہیں؟ آپ کا موجودہ ڈیٹا ضائع نہیں ہوگا۔ اس کو کوئی خاص رسائی درکار نہیں۔"</string>
<string name="install_failed" msgid="6579998651498970899">"ایپ انسٹال نہیں ہوئی۔"</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"پیکج کو انسٹال ہونے سے روک دیا گیا۔"</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"پیکج ایک جیسے نام کی وجہ سے کسی اور پیکج سے متصادم ہے۔"</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"یہ ایپ آپ کے ٹیبلیٹ کے ساتھ مطابقت پذیر نہیں ہے۔"</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"‏یہ ایپ آپ کے TV کے ساتھ مطابقت پذیر نہیں ہے۔"</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"یہ ایپ آپ کے فون کے ساتھ مطابقت پذیر نہیں ہے۔"</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"پیکیج خراب معلوم ہوتا ہے۔"</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"ایک متضاد دستخط کے ساتھ اسی نام سے ایک موجودہ پیکیج پہلے سے انسٹال ہے۔"</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"‏پیکیج Android کے صرف نئے ورژنز پر کام کرتا ہے۔"</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"یہ ایپ آپ کے ٹیبلیٹ کے ساتھ مطابقت پذیر نہیں ہے۔"</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"‏یہ ایپ آپ کے TV کے ساتھ مطابقت پذیر نہیں ہے۔"</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"یہ ایپ آپ کے فون کے ساتھ مطابقت پذیر نہیں ہے۔"</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"انسٹالیشن مکمل ہونے سے پہلے متعینہ پیکیج کو حذف کر دیا گیا۔"</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"پیکیج نے توثیق کو پاس نہیں کیا اور انسٹال نہیں کیا جا سکتا ہے۔"</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"اس پیکیج کی توثیق کی کوشش کرتے وقت ایک ٹائم آؤٹ پیش آگیا۔ اسے بعد میں پھر انسٹال کرنے کی کوشش کریں۔"</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> کو آپ کے ٹیبلیٹ پر انسٹال نہیں کیا جا سکا۔"</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"‏<xliff:g id="APP_NAME">%1$s</xliff:g> کو آپ کے TV پر انسٹال نہیں کیا جا سکا۔"</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g> کو آپ کے فون پر انسٹال نہیں کیا جا سکا۔"</string>
<string name="launch" msgid="4826921505917605463">"کھولیں"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"انسٹال کرنے کو مسدود کردیا گیا"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"سیکیورٹی کے مدنظر، آپ کا ٹیبلٹ نامعلوم مآخذ سے حاصل شدہ ایپس کی انسٹالیشن مسدود کرنے پر سیٹ ہے۔"</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"‏سیکیورٹی کیلئے، آپ کا TV نامعلوم مآخذ سے حاصل کردہ ایپس کا انسٹالیشن مسدود کرنے پر سیٹ ہے۔"</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"سیکیورٹی کے مدنظر، آپ کا فون نامعلوم مآخذ سے حاصل شدہ ایپس کی انسٹالیشن مسدود کرنے پر سیٹ ہے۔"</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"آپ کا منتظم نامعلوم ذرائع سے اخذ کردہ ایپس کو انسٹال کرنے کی اجازت نہیں دیتا ہے۔"</string>
<string name="ok" msgid="3468756155452870475">"ٹھیک ہے"</string>
<string name="settings" msgid="6743583734099755409">"ترتیبات"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"ایپس کیلئے نیا ماخذ"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> دیگر ایپس انسٹال کرنا چاہتی ہے۔\n\nاسے ابھی اور آئندہ کیلئے اجازت دیں؟"</string>
<string name="manage_applications" msgid="4033876279091996596">"ایپس کا نظم کریں"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"ایپ کو بدلیں؟"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"آپ جو ایپ انسٹال کر رہے ہیں وہ دوسری ایپ کی جگہ لے لے گی۔\n\nآپ کا سبھی پچھلا صارف کا ڈیٹا محفوظ رہے گا۔"</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"کیا آپ یہ ایپ اَن انسٹال کرنا چاہتے ہیں؟"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"کیا آپ "<b>"سبھی"</b>" صارفین کیلئے یہ ایپ اَن انسٹال کرنا چاہتے ہیں؟ ایپلیکیشن اور اس کا ڈیٹا آلے پر موجود "<b>"سبھی"</b>" صارفین سے ہٹا دیا جائے گا۔"</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"کیا آپ اس ایپ کو صارف <xliff:g id="USERNAME">%1$s</xliff:g> کیلئے اَن انسٹال کرنا چاہتے ہیں؟"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"کیا آپ اس ایپ کو فیکٹری ورژن کے ساتھ تبدیل کرنا چاہتے ہیں؟"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"اس ایپ کو فیکٹری ورژن سے تبدیل کریں؟ تمام ڈیٹا ہٹا دیا جائے گا۔"</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"اس ایپ کو فیکٹری ورژن سے تبدیل کریں؟ تمام ڈیٹا ہٹا دیا جائے گا۔ اس سے اس آلہ کے تمام صارف متاثر ہوں گے بشمول ان کے جن کے پاس دفتری پروفائلز ہیں۔"</string>
<string name="uninstalling" msgid="5556217435895938250">"اَن انسٹال ہو رہا ہے…"</string>
<string name="uninstall_done" msgid="3792487853420281888">"اَن انسٹال پورا ہوگیا۔"</string>
<string name="uninstall_failed" msgid="631122574306299512">"اَن انسٹال ناکام۔"</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"اَن انسٹال نہیں کر سکتا کیونکہ یہ پیکیج ایک فعال آلے کا منتظم ہے۔"</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"اَن انسٹال نہیں کیا جا سکتا کیونکہ یہ پیکیج صارف <xliff:g id="USERNAME">%1$s</xliff:g> کیلئے فعال آلہ کا منتظم ہے۔"</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"یہ ایپ آپ کے دفتری پروفائل کیلئے درکار ہے اور اسے اَن انسٹال نہیں کیا جا سکتا۔"</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"یہ ایپ کچھ صارفین اور پروفائلوں کیلئے درکار ہے اور دیگر کیلئے ان انسٹال ہو گئی"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"یہ ایپ آپ کے پروفائل کیلئے درکار ہے اور یہ ان انسٹال نہیں ہو سکتی۔"</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"یہ ایپ آپ کے آلہ کے منتظم کو درکار ہے اور اسے اَن انسٹال نہیں کیا جا سکتا ہے۔"</string>
<string name="manage_device_administrators" msgid="891392489300312370">"آلہ کے منتظمین کا نظم کریں"</string>
+ <string name="manage_users" msgid="3125018886835668847">"صارفین کا نظم کریں"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> کو اَن انسٹال نہیں کیا جا سکا۔"</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"پارس سے متعلق خرابی"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"پیکیج کو پارس کرنے میں ایک دشواری پیش آگئی۔"</string>
<string name="newPerms" msgid="6039428254474104210">"نئی"</string>
<string name="allPerms" msgid="1024385515840703981">"سبھی"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"آلہ کی رسائی"</string>
<string name="no_new_perms" msgid="6657813692169565975">"اس اپ ڈیٹ کو کوئی نئی اجازتیں درکار نہیں۔"</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"کیا آپ مندرجہ ذیل اجازتیں دینا چاہتے ہیں؟ اس سے اس تک رسائی حاصل ہو جائے گی:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"اجازت دیں"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"مسترد کریں"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"بہرصورت انکار کریں"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> از <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"<xliff:g id="APP_NAME">%1$s</xliff:g> کو \"<xliff:g id="ACTION">%2$s</xliff:g>\" کی اجازت دیں؟"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"‏&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; کو <xliff:g id="ACTION">%2$s</xliff:g> کی اجازت دیں؟"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"اجازت دیں"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"ایپس"</string>
<string name="app_permissions" msgid="3146758905824597178">"ایپ کی اجازتیں"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"دوبارہ کبھی نہ پوچھیں"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"دوبارہ مت پوچھیں"</string>
<string name="no_permissions" msgid="3210542466245591574">"کوئی اجازتیں نہیں ہیں"</string>
<string name="additional_permissions" msgid="6667573114240111763">"اضافی اجازتیں"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"‏اس اجازت کی ترتیب کو تبدیل کرنے کیلئے آپ کو پہلے ترتیبات &gt; Apps سے سکرین اورلے آف کرنا ہوگا"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"ترتیبات کھولیں"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"‏Wear پر غیر تعاون یافتہ کاروائیاں انسٹال/ان انسٹال کریں۔"</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"‏\'کاروائیاں انسٹال/ان انسٹال کریں\' Wear پر تعاون یافتہ نہیں ہے۔"</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> اپ ڈیٹ ہو گئی ہے۔ <xliff:g id="APP_NAME_1">%1$s</xliff:g> کو مندرجہ ذیل تک رسائی کی اجازت دیں؟"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"انتخاب کریں کہ <xliff:g id="APP_NAME">%1$s</xliff:g> کو کس تک رسائی کی اجازت دینی ہے"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> اپ ڈیٹ ہو گئی ہے۔ انتخاب کریں کہ اس ایپ کو کس تک رسائی کی اجازت دینی ہے۔"</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"منسوخ کریں"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"جاری رکھیں"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"نئی اجازتیں"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"موجودہ اجازتیں"</string>
+ <string name="message_staging" msgid="6151794817691100003">"ایپ کی مرحلہ بندی ہو رہی ہے…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"نامعلوم"</string>
</resources>
diff --git a/res/values-uz-rUZ-television/strings.xml b/res/values-uz-rUZ-television/strings.xml
index faf8c269..b86c57ff 100644
--- a/res/values-uz-rUZ-television/strings.xml
+++ b/res/values-uz-rUZ-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Siz buni keyinroq Sozlamalar &gt; Ilovalar bo‘limi orqali ham o‘zgartirishingiz mumkin"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Tizim ilovalarini ko‘rsatish"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Ilova uchun ruxsatlar"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Ilova uchun ruxsatlar"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Ruxsatlar (<xliff:g id="PERMISSION">%1$s</xliff:g>)"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Qo‘shimcha ruxsatlar"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Ruxsatlar (<xliff:g id="PERMISSION">%1$s</xliff:g>)"</string>
</resources>
diff --git a/res/values-uz-rUZ/strings.xml b/res/values-uz-rUZ/strings.xml
index aba004e2..fb7d5e8a 100644
--- a/res/values-uz-rUZ/strings.xml
+++ b/res/values-uz-rUZ/strings.xml
@@ -16,8 +16,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_name" msgid="2738748390251381682">"Paket o‘rnatuvchisi"</string>
- <string name="next" msgid="3057143178373252333">"Keyingi"</string>
+ <string name="app_name" msgid="2738748390251381682">"Ilova paketini o‘rnatish vositasi"</string>
+ <string name="next" msgid="3057143178373252333">"Keyingisi"</string>
<string name="install" msgid="5896438203900042068">"O‘rnatish"</string>
<string name="done" msgid="3889387558374211719">"Tayyor"</string>
<string name="security_settings_desc" msgid="2706691034244052604">"Ushbu ilovaga quyidagi amallar uchun ruxsat berish:"</string>
@@ -25,35 +25,29 @@
<string name="unknown" msgid="4742479012767208045">"Noma’lum"</string>
<string name="installing" msgid="8613631001631998372">"O‘rnatilmoqda…"</string>
<string name="install_done" msgid="3682715442154357097">"Ilova o‘rnatildi."</string>
- <string name="install_confirm_question" msgid="7295206719219043890">"Ushbu ilova o‘rnatilsinmi? U quyidagilardan foydalana oladi:"</string>
- <string name="install_confirm_question_no_perms" msgid="5918305641302873520">"Ushbu ilova o‘rnatilsinmi? U hech qanday maxsus ruxsat talab qilmaydi."</string>
- <string name="install_confirm_question_update" msgid="4624159567361487964">"Ushbu mavjud ilovaga yangilanish o‘rnatilsinmi? Mavjud ma’lumotlaringiz o‘chib ketmaydi. Yangilangan ilova quyidagilardan foydalana oladi:"</string>
- <string name="install_confirm_question_update_system" msgid="1302330093676416336">"Ushbu tizim ilovasiga yangilanish o‘rnatilsinmi? Mavjud ma’lumotlaringiz o‘chib ketmaydi. Yangilangan ilova quyidagilardan foydalana oladi:"</string>
+ <string name="install_confirm_question" msgid="7295206719219043890">"Bu ilovani o‘rnatmoqchimisiz? U quyidagi ruxsatlarga ega:"</string>
+ <string name="install_confirm_question_no_perms" msgid="5918305641302873520">"Bu ilovani o‘rnatmoqchimisiz? U hech qanday maxsus ruxsat talab qilmaydi."</string>
+ <string name="install_confirm_question_update" msgid="4624159567361487964">"Bu ilova uchun yangilanishni o‘rnatmoqchimisiz? Yangilanganidan keyin u quyidagi ruxsatlarga ega bo‘ladi:"</string>
+ <string name="install_confirm_question_update_system" msgid="1302330093676416336">"Bu ilova uchun yangilanishni o‘rnatmoqchimisiz? Yangilanganidan keyin u quyidagi ruxsatlarga ega bo‘ladi:"</string>
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Ushbu mavjud ilovaga yangilanish o‘rnatilsinmi? Mavjud ma’lumotlaringiz o‘chib ketmaydi. U hech qanday maxsus ruxsat talab qilmaydi."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Ushbu tizim ilovasiga yangilanish o‘rnatilsinmi? Mavjud ma’lumotlaringiz o‘chib ketmaydi. U hech qanday maxsus ruxsat talab qilmaydi."</string>
<string name="install_failed" msgid="6579998651498970899">"Ilova o‘rnatilmadi."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Paket o‘rnatilishga qarshi bloklangan."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Ushbu paket bir xil nomdagi mavjud paket bilan zid."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Ushbu ilova planshetingizga mos kelmaydi."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Bu ilova televizoringiz bilan mos emas."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Ushbu ilova telefoningizga mos kelmaydi."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Paket buzilganga o‘xshaydi."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Xuddi shu nomdagi mavjud paket farqli imzo bilan allaqachon o‘rnatilgan."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Paket faqatgina \"Android\"ning yangi versiyalarida ishlay oladi."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Ushbu ilova planshetingizga mos kelmaydi."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Bu ilova televizoringiz bilan mos emas."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Ushbu ilova telefoningizga mos kelmaydi."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Ko‘rsatilgan paket o‘rnatish jarayoni tugamasdan o‘chirib tashlangan."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Paket tekshirishdan o‘tmadi, shuning uchun uni o‘rnatib bo‘lmaydi."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Ushbu paketni tekshirish jarayonida kutish vaqti tugadi. Keyinroq qayta o‘rnatib ko‘ring."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"<xliff:g id="APP_NAME">%1$s</xliff:g> planshetingizga o‘rnatilmadi."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasini televizoringizga o‘rnatib bo‘lmadi."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"<xliff:g id="APP_NAME">%1$s</xliff:g> telefoningizga o‘rnatilmadi."</string>
<string name="launch" msgid="4826921505917605463">"Ochish"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"O‘rnatish to‘xtatildi"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Xavfsizlik yuzasidan planshetingizga begona manbalardan olingan ilovalarni o‘rnatish taqiqlangan."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Xavfsizlik yuzasidan, televizoringizga begona manbalardan olingan ilovalarni o‘rnatish taqiqlangan."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Xavfsizlik yuzasidan telefoningizga begona manbalardan olingan ilovalarni o‘rnatish taqiqlangan."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Administratoringiz begona manbalardan olingan ilovalarni o‘rnatishga ruxsat bermagan."</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"Sozlamalar"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Ilovalar uchun yangi manba"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> boshqa ilova dasturlarni o‘rnatishni so‘rayapti.\n\n Bunga hozir va kelajak uchun ruxsat berilsinmi?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Ilovalarni boshqarish"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Ilova almashtirilsinmi?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Siz o‘rnatayotgan ilova boshqa ilovaning o‘rnini almashtiradi.\n\nBarcha eski ma’lumotlaringiz saqlanib qoladi."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Ushbu ilova o‘chirilsinmi?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Ushbu ilova "<b>"barcha"</b>" foydalanuvchilar uchun o‘chirilsinmi? Ilova va uning ma’lumotlari qurilmadagi "<b>"barcha"</b>" foydalanuvchilardan o‘chib ketadi."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Haqiqatdan ham <xliff:g id="USERNAME">%1$s</xliff:g> foydalanuvchi uchun ushbu ilovani olib tashlamoqchimisiz?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Ushbu ilovani dastlabki versiyasi bilan almashtirmoqchimisiz?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Bu ilova boshlang‘ich versiyasi bilan almashtirilsinmi? Barcha ma’lumotlar o‘chirib tashlanadi."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Bu ilova boshlang‘ich versiyasi bilan almashtirilsinmi? Barcha ma’lumotlar o‘chirib tashlanadi. Bu qurilmaning barcha foydalanuvchilariga, jumladan, ularning ishchi profillariga ham ta’sir qiladi."</string>
<string name="uninstalling" msgid="5556217435895938250">"O‘chirilmoqda…"</string>
- <string name="uninstall_done" msgid="3792487853420281888">"O‘chirish yakunlandi."</string>
+ <string name="uninstall_done" msgid="3792487853420281888">"O‘chirib tashlandi."</string>
<string name="uninstall_failed" msgid="631122574306299512">"O‘chirish muvaffaqiyatsizlikka uchradi."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"O‘chirib bo‘lmadi, chunki ushbu paket faol qurilma administratoridir."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Bu paketni o‘chirib bo‘lmaydi, chunki u <xliff:g id="USERNAME">%1$s</xliff:g> u-n qurilma administratori hisoblanadi."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Bu ilova ishchi profilingiz uchun kerak va uni o‘chirib bo‘lmaydi."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Bu ilova ba’zi foydalanuvchi yoki profillar uchun zarur, boshqalar uchun esa o‘chirib tashlangan"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Bu ilova profilingiz uchun kerak va uni o‘chirib bo‘lmaydi."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Ushbu ilova qurilmangiz ma\'muri tomonidan ishlatiladi, shuning uchun uni olib tashlab bo\'lmaydi."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Qurilma administratorlarini boshqarish"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Foydalanuvchilarni boshqarish"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"<xliff:g id="APP_NAME">%1$s</xliff:g> o‘chirilmadi."</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Ajratishda xato"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Paketni tahlil qilishda muammo yuz berdi."</string>
<string name="newPerms" msgid="6039428254474104210">"Yangi"</string>
<string name="allPerms" msgid="1024385515840703981">"Barchasi"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Qurilmalardan foydalanish"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Ushbu yangilanish hech qanday yangi ruxsatlarni talab qilmaydi."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Quyidagi ruxsatlar berilishiga rozimisiz? U quyidagilarga ruxsat beradi:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Ruxsat berish"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Rad etish"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Baribir rad etilsin"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasiga <xliff:g id="ACTION">%2$s</xliff:g> uchun ruxsat berilsinmi?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ilovasiga <xliff:g id="ACTION">%2$s</xliff:g> uchun ruxsat berilsinmi?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Ruxsat berish"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Ilovalar"</string>
<string name="app_permissions" msgid="3146758905824597178">"Ilovalar uchun ruxsatlar"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Boshqa so‘ralmasin"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Boshqa so‘ralmasin"</string>
<string name="no_permissions" msgid="3210542466245591574">"Hech qanday ruxsat talab qilinmaydi"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Qo‘shimcha ruxsatlar"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Bu ruxsatnoma parametrini o‘zgartirish uchun avval Sozlamalar &gt; Ilovalar bo‘limidan ekran ustidan ochilish funksiyasini o‘chirib qo‘ying"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Sozlamalarni ochish"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Wear qurilmasi o‘rnatish/o‘chirish amallarini qo‘llab-quvvatlamaydi."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Wear qurilmasi o‘rnatish/o‘chirish amallarini qo‘llab-quvvatlamaydi."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> ilovasi yangilandi. <xliff:g id="APP_NAME_1">%1$s</xliff:g> ilovasiga quyidagi ruxsatnomalar taqdim etilsinmi?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasiga taqdim etiladigan ruxsatnomalarni tanlang"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasi yangilandi. Bu ilovaga taqdim etiladigan ruxsatnomalarni tanlang."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Bekor qilish"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Davom etish"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Yangi ruxsatnomalar"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Joriy ruxsatnomalar"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Kutib turing…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Noma’lum"</string>
</resources>
diff --git a/res/values-vi-television/strings.xml b/res/values-vi-television/strings.xml
index fd7282c7..cc5bc4ee 100644
--- a/res/values-vi-television/strings.xml
+++ b/res/values-vi-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Bạn có thể thay đổi cài đặt này sau trong Cài đặt &gt; Ứng dụng"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Hiển thị ứng dụng hệ thống"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Quyền ứng dụng"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Quyền ứng dụng"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"Quyền <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Quyền bổ sung"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"Quyền <xliff:g id="PERMISSION">%1$s</xliff:g>"</string>
</resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 6ca7e0ce..f1a34e9a 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Bạn có muốn cài đặt bản cập nhật cho ứng dụng hiện có này không? Dữ liệu hiện có của bạn sẽ không bị mất. Việc cài đặt không yêu cầu bất kỳ quyền truy cập đặc biệt nào."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Bạn có muốn cài đặt bản cập nhật cho ứng dụng cài sẵn này không? Dữ liệu hiện có của bạn sẽ không bị mất. Việc cài đặt không yêu cầu quyền truy cập đặc biệt nào."</string>
<string name="install_failed" msgid="6579998651498970899">"Ứng dụng chưa được cài đặt."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Đã chặn cài đặt gói."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Gói xung đột với gói hiện có do cùng tên."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Ứng dụng này không tương thích với máy tính bảng của bạn."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Ứng dụng này không tương thích với TV của bạn."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Ứng dụng này không tương thích với điện thoại của bạn."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Gói dường như bị hỏng."</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"Gói hiện có có cùng tên với chữ ký xung đột hiện đã được cài đặt."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Gói chỉ hoạt động trên các phiên bản mới hơn của Android."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Ứng dụng này không tương thích với máy tính bảng của bạn."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Ứng dụng này không tương thích với TV của bạn."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Ứng dụng này không tương thích với điện thoại của bạn."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Gói đã chỉ định bị xóa trước khi cài đặt hoàn tất."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Gói không vượt qua xác minh và không thể được cài đặt."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Đã hết thời gian chờ trong khi cố gắng xác minh gói này. Hãy cố gắng cài đặt lại sau."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"Không thể cài đặt <xliff:g id="APP_NAME">%1$s</xliff:g> trên máy tính bảng của bạn."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"Không cài đặt được <xliff:g id="APP_NAME">%1$s</xliff:g> trên TV của bạn."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"Không thể cài đặt <xliff:g id="APP_NAME">%1$s</xliff:g> trên điện thoại này."</string>
<string name="launch" msgid="4826921505917605463">"Mở"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Cài đặt đã chặn"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Để bảo mật, máy tính bảng của bạn được đặt để chặn cài đặt ứng dụng từ nguồn không xác định."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Để bảo mật, TV của bạn được đặt để chặn cài đặt ứng dụng từ nguồn không xác định."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Để bảo mật, điện thoại của bạn được đặt để chặn cài đặt ứng dụng từ nguồn không xác định."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Quản trị viên của bạn không cho phép cài đặt ứng dụng từ nguồn không xác định."</string>
<string name="ok" msgid="3468756155452870475">"OK"</string>
<string name="settings" msgid="6743583734099755409">"Cài đặt"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Nguồn mới cho ứng dụng"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> muốn cài đặt các ứng dụng khác.\n\nCho phép điều này ngay bây giờ và trong tương lai?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Quản lý ứng dụng"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Thay thế ứng dụng?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"Ứng dụng bạn đang cài đặt sẽ thay thế một ứng dụng khác.\n\nTất cả dữ liệu người dùng trước của bạn sẽ được lưu."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Bạn có muốn gỡ cài đặt ứng dụng này không?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Bạn có muốn gỡ cài đặt ứng dụng này cho "<b>"tất cả"</b>" người dùng không? Ứng dụng và dữ liệu của ứng dụng sẽ bị xóa khỏi "<b>"tất cả"</b>" người dùng trên thiết bị."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Bạn có muốn gỡ cài đặt ứng dụng này cho người dùng <xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Bạn có muốn thay thế ứng dụng này bằng phiên bản gốc không?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Thay thế ứng dụng này bằng phiên bản gốc? Tất cả dữ liệu sẽ bị xóa."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Thay thế ứng dụng này bằng phiên bản gốc? Tất cả dữ liệu sẽ bị xóa. Điều này ảnh hưởng đến tất cả người dùng thiết bị này, bao gồm cả những người có hồ sơ công việc."</string>
<string name="uninstalling" msgid="5556217435895938250">"Đang gỡ cài đặt..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Gỡ cài đặt đã hoàn tất."</string>
<string name="uninstall_failed" msgid="631122574306299512">"Gỡ cài đặt không thành công."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Không thể cài đặt vì gói này là ứng dụng quản trị thiết bị đang hoạt động."</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Không thể gỡ cài đặt do gói này là ứng dụng quản trị thiết bị đang hoạt động dành cho người dùng <xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Ứng dụng này là cần thiết cho hồ sơ Android Work của bạn và không thể gỡ cài đặt."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Ứng dụng này bắt buộc với một số người dùng hoặc hồ sơ và được gỡ cài đặt cho người khác"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Ứng dụng này là cần thiết cho hồ sơ của bạn và không thể gỡ cài đặt."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Ứng dụng này được quản trị viên thiết bị của bạn yêu cầu và không thể gỡ cài đặt."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Quản lý quản trị viên điện thoại"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Quản lý người dùng"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"Không thể gỡ cài đặt <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Lỗi phân tích cú pháp"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Đã xảy ra sự cố khi phân tích cú pháp gói."</string>
<string name="newPerms" msgid="6039428254474104210">"Mới"</string>
<string name="allPerms" msgid="1024385515840703981">"Tất cả"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Truy cập thiết bị"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Bản cập nhật này không yêu cầu quyền mới."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Bạn có muốn cấp quyền sau không? Ứng dụng sẽ có quyền truy cập:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Cho phép"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Từ chối"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Vẫn từ chối"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Cho phép <xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Cho phép &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Cho phép"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Ứng dụng"</string>
<string name="app_permissions" msgid="3146758905824597178">"Giấy phép ứng dụng"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Không bao giờ hỏi lại"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Không hỏi lại"</string>
<string name="no_permissions" msgid="3210542466245591574">"Không có quyền"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Quyền khác"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Để thay đổi cài đặt quyền này, trước tiên bạn phải tắt lớp phủ màn hình từ Cài đặt &gt; Ứng dụng"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Mở cài đặt"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Không hỗ trợ tác vụ Cài đặt/Gỡ cài đặt trên Wear."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Không hỗ trợ tác vụ Cài đặt/Gỡ cài đặt trên Wear."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"Đã cập nhật <xliff:g id="APP_NAME_0">%1$s</xliff:g>. Cho phép <xliff:g id="APP_NAME_1">%1$s</xliff:g> truy cập những nội dung sau?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Chọn cho phép <xliff:g id="APP_NAME">%1$s</xliff:g> truy cập những gì"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"Đã cập nhật <xliff:g id="APP_NAME">%1$s</xliff:g>. Chọn cho phép ứng dụng này truy cập những gì."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Hủy"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Tiếp tục"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Các quyền mới"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Các quyền hiện tại"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Đang sắp xếp ứng dụng…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Không xác định"</string>
</resources>
diff --git a/res/values-zh-rCN-television/strings.xml b/res/values-zh-rCN-television/strings.xml
index be3cdce7..9b433709 100644
--- a/res/values-zh-rCN-television/strings.xml
+++ b/res/values-zh-rCN-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"您以后可以在“设置”&gt;“应用”中更改此设置"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"显示系统应用"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"应用权限"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"应用权限"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g>权限"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"其他权限"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g>权限"</string>
</resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 08c9134b..5ec5f6c0 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"是否要为这一现有应用安装更新?您现有的数据不会丢失,且安装过程无需任何特殊权限。"</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"是否要为这一内置应用安装更新?您现有的数据不会丢失,且安装过程无需任何特殊权限。"</string>
<string name="install_failed" msgid="6579998651498970899">"应用未安装。"</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"系统禁止安装该文件包。"</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"该文件包与具有同一名称的现有文件包存在冲突。"</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"此应用与您的平板电脑不兼容。"</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"此应用与您的电视不兼容。"</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"此应用与您的手机不兼容。"</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"该软件包似乎已损坏。"</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"已安装了存在签名冲突的同名软件包。"</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"该软件包仅适用于更高版本的Android。"</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"此应用与您的平板电脑不兼容。"</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"此应用与您的电视不兼容。"</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"此应用与您的手机不兼容。"</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"软件包已被删除,无法完成安装。"</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"该软件包未通过验证,无法安装。"</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"尝试验证此软件包时发生超时。请稍后尝试重新安装。"</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"无法在您的平板电脑上安装“<xliff:g id="APP_NAME">%1$s</xliff:g>”。"</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"无法将<xliff:g id="APP_NAME">%1$s</xliff:g>安装到您的电视上。"</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"无法在您的手机上安装“<xliff:g id="APP_NAME">%1$s</xliff:g>”。"</string>
<string name="launch" msgid="4826921505917605463">"打开"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"禁止安装"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"出于安全考虑,您的平板电脑已设置为禁止安装来源不明的应用。"</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"出于安全考虑,您的电视已设置为禁止安装来源不明的应用。"</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"出于安全考虑,您的手机已设置为禁止安装来源不明的应用。"</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"您的管理员不允许安装来源不明的应用。"</string>
<string name="ok" msgid="3468756155452870475">"确定"</string>
<string name="settings" msgid="6743583734099755409">"设置"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"新的应用来源"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g>要求安装其他应用。\n\n从现在起允许此操作吗?"</string>
<string name="manage_applications" msgid="4033876279091996596">"管理应用"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"要替换该应用吗?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"您要安装的应用将替换另一应用。\n\n系统将保存您以前的所有用户数据。"</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"要卸载此应用吗?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"是否要为"<b>"所有"</b>"用户卸载此应用?系统将为设备上的"<b>"所有"</b>"用户删除此应用及其数据。"</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"您要为用户<xliff:g id="USERNAME">%1$s</xliff:g>卸载此应用吗?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"您要将此应用替换成出厂版本吗?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"要将此应用替换为出厂版本吗?这样会移除所有数据。"</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"要将此应用替换为出厂版本吗?这样会移除所有数据,并会影响此设备的所有用户(包括已设置工作资料的用户)。"</string>
<string name="uninstalling" msgid="5556217435895938250">"正在卸载..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"卸载完成。"</string>
<string name="uninstall_failed" msgid="631122574306299512">"卸载失败。"</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"此软件包是当前使用的设备管理器,无法卸载。"</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"无法卸载此软件包,因为它是用户 <xliff:g id="USERNAME">%1$s</xliff:g> 当前使用的设备管理软件包。"</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"这是您的工作资料所需的应用,因此无法卸载。"</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"这是部分用户或个人资料所需的应用;已为其他用户或个人资料卸载此应用"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"这是您的个人资料所需的应用,因此无法卸载。"</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"这是您的设备管理员要求必须安装的应用,因此无法卸载。"</string>
<string name="manage_device_administrators" msgid="891392489300312370">"管理设备管理器"</string>
+ <string name="manage_users" msgid="3125018886835668847">"管理用户"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"无法卸载“<xliff:g id="APP_NAME">%1$s</xliff:g>”。"</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"解析错误"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"解析软件包时出现问题。"</string>
<string name="newPerms" msgid="6039428254474104210">"新权限"</string>
<string name="allPerms" msgid="1024385515840703981">"全部"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"设备相关权限"</string>
<string name="no_new_perms" msgid="6657813692169565975">"新版本不需要任何新的权限。"</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"要向该应用授予以下权限吗?"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"允许"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"拒绝"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"仍然拒绝"</string>
<string name="current_permission_template" msgid="6378304249516652817">"第 <xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> 项权限(共 <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g> 项)"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"要允许<xliff:g id="APP_NAME">%1$s</xliff:g><xliff:g id="ACTION">%2$s</xliff:g>吗?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"要允许&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;<xliff:g id="ACTION">%2$s</xliff:g>吗?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"允许"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"应用"</string>
<string name="app_permissions" msgid="3146758905824597178">"应用访问授权"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"不再询问"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"不再询问"</string>
<string name="no_permissions" msgid="3210542466245591574">"没有权限"</string>
<string name="additional_permissions" msgid="6667573114240111763">"其他权限"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"要更改此权限设置,您必须首先在“设置”&gt;“应用”中关闭屏幕叠加层"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"打开设置"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Wear 不支持安装/卸载操作。"</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Wear 不支持安装/卸载操作。"</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g>已更新。要向<xliff:g id="APP_NAME_1">%1$s</xliff:g>授予以下权限吗?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"请选择要向<xliff:g id="APP_NAME">%1$s</xliff:g>授予哪些权限"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g>已更新。请选择要向此应用授予哪些权限。"</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"取消"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"继续"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"新权限"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"当前权限"</string>
+ <string name="message_staging" msgid="6151794817691100003">"正在准备安装应用…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"未知"</string>
</resources>
diff --git a/res/values-zh-rHK-television/strings.xml b/res/values-zh-rHK-television/strings.xml
index cc6a84df..08bf24c9 100644
--- a/res/values-zh-rHK-television/strings.xml
+++ b/res/values-zh-rHK-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"您日後可以在 [設定] &gt; [應用程式] 中變更這項設定"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"顯示系統應用程式"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"應用程式權限"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"應用程式權限"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g>權限"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"其他權限"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g>權限"</string>
</resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 56ea1404..9ca95a35 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -17,7 +17,7 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name" msgid="2738748390251381682">"程式安裝器"</string>
- <string name="next" msgid="3057143178373252333">"下一項"</string>
+ <string name="next" msgid="3057143178373252333">"下一步"</string>
<string name="install" msgid="5896438203900042068">"安裝"</string>
<string name="done" msgid="3889387558374211719">"完成"</string>
<string name="security_settings_desc" msgid="2706691034244052604">"允許這個應用程式:"</string>
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"您要為這個現有的應用程式安裝更新嗎?您不會遺失現有的資料,而應用程式無需任何特殊的存取權限。"</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"您要為這個內置應用程式安裝更新嗎?您不會遺失現有的資料,而應用程式無需任何特殊的存取權限。"</string>
<string name="install_failed" msgid="6579998651498970899">"未安裝應用程式。"</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"套件已遭封鎖,無法安裝。"</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"此套件與現有的套件發生衝突,套件名稱相同。"</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"此應用程式與您的平板電腦不相容。"</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"此應用程式與您的電視不相容。"</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"此應用程式與您的手機不相容。"</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"看來套件已毀損。"</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"發生衝突,安裝套件所使用的簽名和現有套件的簽名相同。"</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"套件只能在較新版本的 Android 上運作。"</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"這個應用程式與您的平板電腦不兼容。"</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"此應用程式與您的電視不相容。"</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"這個應用程式與您的手機不兼容。"</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"指定套件在安裝程序完成之前被刪除。"</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"這個套件未通過驗證,因此無法安裝。"</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"嘗試驗證這個套件時發生作業逾時,請稍後再嘗試安裝。"</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"無法在您的平板電腦上安裝「<xliff:g id="APP_NAME">%1$s</xliff:g>」。"</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"無法在您的電視上安裝 <xliff:g id="APP_NAME">%1$s</xliff:g>。"</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"無法在您的手機上安裝「<xliff:g id="APP_NAME">%1$s</xliff:g>」。"</string>
<string name="launch" msgid="4826921505917605463">"開啟"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"已封鎖安裝"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"為保障安全,您的平板電腦已設定為不安裝來源不明的應用程式。"</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"為安全起見,已將您的電視設為封鎖安裝來自不明來源的應用程式。"</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"為保障安全,您的手機已設定為不安裝來源不明的應用程式。"</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"您的管理員不允許安裝來源不明的應用程式。"</string>
<string name="ok" msgid="3468756155452870475">"確定"</string>
<string name="settings" msgid="6743583734099755409">"設定"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"應用程式的新來源"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> 要安裝其他應用程式。\n\n您是否允許該應用程式日後都能執行這項功能?"</string>
<string name="manage_applications" msgid="4033876279091996596">"管理應用程式"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"取代應用程式?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"您所要安裝的應用程式將取代另一個應用程式。\n\n系統將儲存所有您先前的使用者資料。"</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"您要解除安裝這個應用程式嗎?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"您要為"<b>"所有"</b>"使用者解除安裝這個應用程式嗎?應用程式及其資料會從裝置上的"<b>"所有"</b>"使用者設定檔中移除。"</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"您要為使用者 <xliff:g id="USERNAME">%1$s</xliff:g> 解除安裝這個應用程式嗎?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"您要將這個應用程式恢復原廠設定嗎?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"要將此應用程式回復至原廠版本嗎?所有資料將會刪除。"</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"要將此應用程式回復至原廠版本嗎?所有資料將會刪除,此裝置的所有使用者 (包括使用工作設定檔的使用者) 亦會受影響。"</string>
<string name="uninstalling" msgid="5556217435895938250">"正在解除安裝..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"完成解除安裝。"</string>
<string name="uninstall_failed" msgid="631122574306299512">"解除安裝失敗。"</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"這個套件是目前的裝置管理員,因此無法解除安裝。"</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"無法解除安裝,因為這個套件是使用者「<xliff:g id="USERNAME">%1$s</xliff:g>」目前使用的裝置管理員。"</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"這是您的公司檔案所需的應用程式,因此無法解除安裝。"</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"這是部分使用者或設定檔所需的應用程式,其他使用者或設定檔已解除安裝此應用程式"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"這是您設定檔所需的應用程式,因此無法解除安裝。"</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"這是您的裝置管理員要求安裝的應用程式,因此無法解除安裝。"</string>
<string name="manage_device_administrators" msgid="891392489300312370">"管理裝置管理員"</string>
+ <string name="manage_users" msgid="3125018886835668847">"管理使用者"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"無法解除安裝「<xliff:g id="APP_NAME">%1$s</xliff:g>」。"</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"剖析錯誤"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"剖析套件時發生問題。"</string>
<string name="newPerms" msgid="6039428254474104210">"新增"</string>
<string name="allPerms" msgid="1024385515840703981">"全部"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"裝置存取權"</string>
<string name="no_new_perms" msgid="6657813692169565975">"這項更新不需新權限。"</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"您想授予下列權限嗎?應用程式將可獲得下列存取權:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"允許"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"拒絕"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"一律拒絕"</string>
<string name="current_permission_template" msgid="6378304249516652817">"第 <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g> 個 (共 <xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> 個)"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"允許 <xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="ACTION">%2$s</xliff:g>嗎?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<xliff:g id="ACTION">%2$s</xliff:g>嗎?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"允許"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"應用程式"</string>
<string name="app_permissions" msgid="3146758905824597178">"應用程式權限"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"不再要求輸入"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"不要再詢問"</string>
<string name="no_permissions" msgid="3210542466245591574">"沒有權限"</string>
<string name="additional_permissions" msgid="6667573114240111763">"其他權限"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"如要變更此權限設定,請先前往 [設定] &gt; [應用程式],以關閉螢幕重疊功能"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"開啟設定"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Wear 不支援安裝/解除安裝操作。"</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Wear 不支援安裝/解除安裝操作。"</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"已更新「<xliff:g id="APP_NAME_0">%1$s</xliff:g>」。允許「<xliff:g id="APP_NAME_1">%1$s</xliff:g>」存取以下內容嗎?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"選擇允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」存取的內容"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"已更新「<xliff:g id="APP_NAME">%1$s</xliff:g>」。選擇允許此應用程式存取的內容。"</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"取消"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"繼續"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"新權限"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"目前權限"</string>
+ <string name="message_staging" msgid="6151794817691100003">"正在準備安裝應用程式…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"不明"</string>
</resources>
diff --git a/res/values-zh-rTW-television/strings.xml b/res/values-zh-rTW-television/strings.xml
index aa860102..432468c3 100644
--- a/res/values-zh-rTW-television/strings.xml
+++ b/res/values-zh-rTW-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"您日後可在 [設定] &gt; [應用程式] 中進行變更"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"顯示系統應用程式"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"應用程式權限"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"應用程式權限"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g>權限"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"其他權限"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g>權限"</string>
</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 7c7f732c..521ff7fd 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"您要為這個現有的應用程式安裝更新嗎?您不會遺失現有的資料,且應用程式不需任何特殊權限。"</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"您要為這個現有的內建應用程式安裝更新嗎?您不會遺失現有的資料,且應用程式不需任何特殊權限。"</string>
<string name="install_failed" msgid="6579998651498970899">"未安裝應用程式。"</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"這個套件已遭到封鎖,因此無法安裝。"</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"這個套件與同名的現有套件相衝突。"</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"這個應用程式與您的平板電腦不相容。"</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"這個應用程式與您的電視不相容。"</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"這個應用程式與您的手機不相容。"</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"套件已毀損。"</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">"發生衝突,安裝套件所使用的簽名和現有套件的簽名相同。"</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"套件只能在較新版本的 Android 上運作。"</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"這個應用程式與您的平板電腦不相容。"</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"這個應用程式與您的電視不相容。"</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"這個應用程式與您的手機不相容。"</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"指定套件在安裝程序完成之前遭到刪除。"</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"這個套件未通過驗證,因此無法安裝。"</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"嘗試驗證這個套件時發生逾時,請稍後再嘗試安裝。"</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"無法在您的平板電腦上安裝「<xliff:g id="APP_NAME">%1$s</xliff:g>」。"</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"無法在您的電視上安裝「<xliff:g id="APP_NAME">%1$s</xliff:g>」。"</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"無法在您的手機上安裝「<xliff:g id="APP_NAME">%1$s</xliff:g>」。"</string>
<string name="launch" msgid="4826921505917605463">"開啟"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"安裝遭封鎖。"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"為保障安全,您的平板電腦已設定為不安裝來路不明的應用程式。"</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"為了安全起見,您的電視已設定禁止安裝來源不明的應用程式。"</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"為保障安全,您的手機已設定為不安裝來路不明的應用程式。"</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"管理員不允許安裝來源不明的應用程式。"</string>
<string name="ok" msgid="3468756155452870475">"確定"</string>
<string name="settings" msgid="6743583734099755409">"設定"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"應用程式的新來源"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」要安裝其他應用程式。\n\n您是否允許現在及日後都執行這項作業?"</string>
<string name="manage_applications" msgid="4033876279091996596">"管理應用程式"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"取代應用程式?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"您所要安裝的應用程式將取代其他應用程式。\n\n系統將儲存所有先前的使用者資料。"</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"您要解除安裝這個應用程式嗎?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"您要為"<b>"所有"</b>"使用者解除安裝這個應用程式嗎?該應用程式及其資料會從裝置上的"<b>"所有"</b>"使用者設定檔移除。"</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"您要為使用者 <xliff:g id="USERNAME">%1$s</xliff:g> 解除安裝這個應用程式嗎?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"您要將這個應用程式重設成原廠設定嗎?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"要將應用程式換成原廠版本嗎?這麼做會移除所有資料。"</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"要將應用程式換成原廠版本嗎?這麼做會移除所有資料。凡是這個裝置的使用者 (包括設置 Work 設定檔的使用者),皆會受到影響。"</string>
<string name="uninstalling" msgid="5556217435895938250">"解除安裝中…"</string>
<string name="uninstall_done" msgid="3792487853420281888">"解除安裝完成。"</string>
<string name="uninstall_failed" msgid="631122574306299512">"解除安裝失敗。"</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"這個套件是目前的裝置管理員,因此無法解除安裝。"</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"這個套件是<xliff:g id="USERNAME">%1$s</xliff:g>目前使用中的裝置權限管理工具,因此無法解除安裝。"</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"這是 Work 設定檔所需的應用程式,因此無法解除安裝。"</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"部分使用者或設定檔需要使用這個應用程式;已為其他使用者解除安裝"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"您的設定檔需要使用這個應用程式,因此無法解除安裝。"</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"這是您的裝置管理員要求安裝的應用程式,因此無法解除安裝。"</string>
<string name="manage_device_administrators" msgid="891392489300312370">"管理裝置管理員"</string>
+ <string name="manage_users" msgid="3125018886835668847">"管理使用者"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"無法解除安裝「<xliff:g id="APP_NAME">%1$s</xliff:g>」。"</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"剖析錯誤"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"剖析套件時發生問題。"</string>
<string name="newPerms" msgid="6039428254474104210">"新增"</string>
<string name="allPerms" msgid="1024385515840703981">"全部"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"裝置存取權"</string>
<string name="no_new_perms" msgid="6657813692169565975">"這項更新不需新權限。"</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"您要授予下列權限嗎?將會開放下列存取權:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"允許"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"拒絕"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"直接拒絕"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g>/<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<xliff:g id="ACTION">%2$s</xliff:g>嗎?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<xliff:g id="ACTION">%2$s</xliff:g>嗎?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"允許"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"應用程式"</string>
<string name="app_permissions" msgid="3146758905824597178">"應用程式權限"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"不要再詢問我"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"不要再詢問"</string>
<string name="no_permissions" msgid="3210542466245591574">"沒有權限"</string>
<string name="additional_permissions" msgid="6667573114240111763">"其他權限"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"如要變更這項權限設定,您必須先依序前往 [設定] &gt; [應用程式],關閉裝置畫面重疊圖層"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"開啟設定"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Wear 不支援安裝及解除安裝操作。"</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Wear 不支援安裝及解除安裝操作。"</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"「<xliff:g id="APP_NAME_0">%1$s</xliff:g>」已更新,要將下列項目的存取權授予「<xliff:g id="APP_NAME_1">%1$s</xliff:g>」嗎?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"選擇要將哪些項目的存取權授予「<xliff:g id="APP_NAME">%1$s</xliff:g>」"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」已更新,請選擇要將哪些項目的存取權授予這個應用程式。"</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"取消"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"繼續"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"新權限"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"目前權限"</string>
+ <string name="message_staging" msgid="6151794817691100003">"正在啟動應用程式安裝程序…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"不明"</string>
</resources>
diff --git a/res/values-zu-television/strings.xml b/res/values-zu-television/strings.xml
index 0d9cbeab..a07ad2e9 100644
--- a/res/values-zu-television/strings.xml
+++ b/res/values-zu-television/strings.xml
@@ -20,4 +20,9 @@
<string name="grant_dialog_how_to_change" msgid="615414835189256888">"Ungashintsha lokhu kamuva kuzilungiselelo &gt; izinhlelo zokusebenza"</string>
<string name="current_permission_template" msgid="4793247012451594523">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> / <xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
<string name="preference_show_system_apps" msgid="7330308025768596149">"Bonisa izinhlelo zokusebenza zesistimu"</string>
+ <string name="app_permissions_decor_title" msgid="1461057434211920209">"Izimvume zohlelo lokusebenza"</string>
+ <string name="manage_permissions_decor_title" msgid="4823785025722958092">"Izimvume zohlelo lokusebenza"</string>
+ <string name="permission_apps_decor_title" msgid="3644363529649579576">"<xliff:g id="PERMISSION">%1$s</xliff:g> izimvume"</string>
+ <string name="additional_permissions_decor_title" msgid="7000432624396037882">"Izimvume ezingeziwe"</string>
+ <string name="system_apps_decor_title" msgid="5292119639812561805">"<xliff:g id="PERMISSION">%1$s</xliff:g> izimvume"</string>
</resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index acd9b5b2..c6d96003 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -32,28 +32,22 @@
<string name="install_confirm_question_update_no_perms" msgid="4885928136844618944">"Ingabe ufuna ukufaka isibuyekezo kulolu hlelo lokusebenza olukhona? Idatha yakho ekhona ngeke ilahleke. Akudingi ukufinyelela okukhethekile."</string>
<string name="install_confirm_question_update_system_no_perms" msgid="7676593512694724374">"Ungabe ufuna ukukhipha isibuyekezo kulolu hlelo lokusebenza olakhelwe ngaphakathi? Idatha yakho ekhona ngeke ilahleke. Akudingi ukufinyelela okukhethekile."</string>
<string name="install_failed" msgid="6579998651498970899">"I-app ayifakiwe."</string>
+ <string name="install_failed_blocked" msgid="1606870930588770025">"Iphakheji livinjiwe kusukela ekufakweni."</string>
+ <string name="install_failed_conflict" msgid="5349055145440204106">"Iphakheji ishayisana nephakheji ekhona enegama elifanayo."</string>
+ <string name="install_failed_incompatible" product="tablet" msgid="119054044615117271">"Lolu hlelo lokusebenza aluhambisani nethebulethi yakho."</string>
+ <string name="install_failed_incompatible" product="tv" msgid="3553367270510072729">"Lolu hlelo lokusebenza aluhambisani ne-TV yakho."</string>
+ <string name="install_failed_incompatible" product="default" msgid="6677057915876853610">"Lolu hlelo lokusebenza aluhambisani nefoni yakho."</string>
<string name="install_failed_invalid_apk" msgid="1287935707565682604">"Iphasela libonakala lonakalisiwe"</string>
- <string name="install_failed_inconsistent_certificates" msgid="1517751954440692054">" Iphakheji enegama elifanayo nesiginisha ephikisayo isivele ifakiwe."</string>
- <string name="install_failed_older_sdk" msgid="7947925824732917665">"Iphasela lisebenza kuphela kunguqulo entsha ye-Android"</string>
- <string name="install_failed_cpu_abi_incompatible" product="tablet" msgid="7098684468842750800">"Lolu hlelo lokusebenza alihambelani nethebulethi yakho."</string>
- <string name="install_failed_cpu_abi_incompatible" product="tv" msgid="1309625657882930450">"Lolu hlelo lokusebenza aluhambisani ne-TV yakho."</string>
- <string name="install_failed_cpu_abi_incompatible" product="default" msgid="4433316303249711331">"Le app ayihambelani nocingo lakho."</string>
- <string name="install_failed_file_not_found" msgid="1958430133396322619">"Iphakheji echaziwe yasuswa ngaphambi kokuba uhlelo lokufaka luqedelwe."</string>
- <string name="install_failed_verify_failed" msgid="5567372439890440205">"Iphakheji ayizange idlule ekuqinisekisweni ngakho angeke ifakwe."</string>
- <string name="install_failed_verify_timeout" msgid="7083090219270140373">"Kwenzeke isikhathi sokuvala kusaqinisekiswa le phakheji. Sicela uzame ukuyifaka futhi."</string>
<string name="install_failed_msg" product="tablet" msgid="8368835262605608787">"I-<xliff:g id="APP_NAME">%1$s</xliff:g> ayikwazanga ukufakwa kuthebhulethi."</string>
<string name="install_failed_msg" product="tv" msgid="3990457938384021566">"I-<xliff:g id="APP_NAME">%1$s</xliff:g> ayikwazanga ukufakwa ku-TV yakho."</string>
<string name="install_failed_msg" product="default" msgid="8554909560982962052">"I-<xliff:g id="APP_NAME">%1$s</xliff:g> ayikwazanga ukufakwa efonini."</string>
<string name="launch" msgid="4826921505917605463">"Vula"</string>
- <string name="unknown_apps_dlg_title" msgid="2855558586206583032">"Ukufaka kuvimbelwe"</string>
<string name="unknown_apps_dlg_text" product="tablet" msgid="7504186369474734767">"Ngokuphepha, ithebhulethi yakho isethelwe ukuvimbela ukufakwa kwezinhlelo zokusebenza ezitholwa emithonjeni engaziwa."</string>
<string name="unknown_apps_dlg_text" product="tv" msgid="7195713985140602351">"Ukuze kuvikelwe, i-TV yakho isethelwe ukuthi ivimbele ukufakwa kwezinhlelo zokusebenza ezithathwe kumithombo engaziwa."</string>
<string name="unknown_apps_dlg_text" product="default" msgid="133213135679009316">"Ngokuphepha, ifoni yakho isethelwe ukuvimbela ukufakwa kwezinhlelo zokusebenza ezitholwa emithonjeni engaziwa."</string>
<string name="unknown_apps_admin_dlg_text" msgid="1189146324736698462">"Umlawuli wakho akavumeli ukufakwa kwezinhlelo zokusebenza okutholwe kusukela kumithombo engaziwa."</string>
<string name="ok" msgid="3468756155452870475">"KULUNGILE"</string>
<string name="settings" msgid="6743583734099755409">"Izilungiselelo"</string>
- <string name="allow_source_dlg_title" msgid="7568985073502399415">"Umthombo omusha wama-apps"</string>
- <string name="allow_source_dlg_text" msgid="3927580956764099076">"<xliff:g id="APP_NAME">%1$s</xliff:g> ifuna ukufaka ezinye izisetshenziswa.\n\nVumela lokhu manje kanye nasesikhathini esizayo?"</string>
<string name="manage_applications" msgid="4033876279091996596">"Phatha izinhlelo zokusebenza"</string>
<string name="dlg_app_replacement_title" msgid="1232230739563820951">"Miselela i-app?"</string>
<string name="dlg_app_replacement_statement" msgid="2992911899989907492">"I-app oyifakayo izomiselela enye i-app.\n\nYonke idatha yakho yomsebenzisi yangaphambilini izogcinwa."</string>
@@ -69,17 +63,19 @@
<string name="uninstall_application_text" msgid="6691975835951187030">"Ufuna ukukhipha le-app?"</string>
<string name="uninstall_application_text_all_users" msgid="5574704453233525222">"Ingabe ufuna ukukhipha lolu hlelo lokusebenza kubo "<b>"bonke"</b>" abasebenzisi? Uhlelo lokusebenza nedatha yalo kuzosuswa kubo "<b>"bonke"</b>" abasebenzisi kudivayisi."</string>
<string name="uninstall_application_text_user" msgid="8766882355635485733">"Ingabe ufuna ukukhiphela lolu hlelo lokusebenza kumsebenzisi ongu-<xliff:g id="USERNAME">%1$s</xliff:g>?"</string>
- <string name="uninstall_update_text" msgid="2056387942084605027">"Ufuna ukumiselela le app ngenguqulo yenkampani?"</string>
+ <string name="uninstall_update_text" msgid="1394549691152728409">"Shintshanisa lolu hlelo lokusebenza ngenguqulo yasekuqaleni? Yonke idatha izosuswa."</string>
+ <string name="uninstall_update_text_multiuser" msgid="2083665452990861991">"Shintshanisa lolu hlelo lokusebenza ngenguqulo yasekuqaleni? Yonke idatha izosuswa. Lokhu kuthinta bonke abasebenzisi bale divayisi, abafaka labo abanamaphrofayela wokusebenza."</string>
<string name="uninstalling" msgid="5556217435895938250">"Iyakhipha..."</string>
<string name="uninstall_done" msgid="3792487853420281888">"Ukukhipha kuqedile"</string>
<string name="uninstall_failed" msgid="631122574306299512">"Ukukhipha akuphumelelanga."</string>
<string name="uninstall_failed_device_policy_manager" msgid="3493789239037852035">"Ayikwazi ukukhupha: leliphasela liwumqondisi wedivayisi osebenzayo"</string>
<string name="uninstall_failed_device_policy_manager_of_user" msgid="4466062391552204291">"Ayikwazi ukukhipha ngoba le phakheji ingumlawuli osebenzayo wedivayisi womsebenzisi we-<xliff:g id="USERNAME">%1$s</xliff:g>."</string>
- <string name="uninstall_blocked_profile_owner" msgid="5397102354360532069">"Lolu hlelo lokusebenza ludingelwa iphrofayela yakho yokusebenza futhi alikwazi ukukhishwa."</string>
+ <string name="uninstall_all_blocked_profile_owner" msgid="3544933038594382346">"Lolu hlelo lokusebenza luyadingeka kwabanye abasebenzisi noma amaphrofayela futhi lukhishelwe abanye"</string>
+ <string name="uninstall_blocked_profile_owner" msgid="6912141045528994954">"Lolu hlelo lokusebenza ludingelwa iphrofayela yakho futhi alikwazi ukukhishwa."</string>
<string name="uninstall_blocked_device_owner" msgid="7074175526413453063">"Lolu hlelo lokusebenza ludingwa umlawuli wedivayisi yakho futhi alukwazi ukukhishwa."</string>
<string name="manage_device_administrators" msgid="891392489300312370">"Phatha amadivayisi abaqondisi"</string>
+ <string name="manage_users" msgid="3125018886835668847">"Phatha abasebenzisi"</string>
<string name="uninstall_failed_msg" msgid="8969754702803951175">"I-<xliff:g id="APP_NAME">%1$s</xliff:g> ayikwazanga ukukhishwa"</string>
- <string name="Parse_error_dlg_title" msgid="6079580916889596257">"Iphutha lokuhlwaya"</string>
<string name="Parse_error_dlg_text" msgid="7623286983621067011">"Kube nenkinga yokwehlukanisa iphakheji."</string>
<string name="newPerms" msgid="6039428254474104210">"Okusha"</string>
<string name="allPerms" msgid="1024385515840703981">"Konke"</string>
@@ -87,13 +83,14 @@
<string name="devicePerms" msgid="6733560207731294504">"Ukufinyelela kwedivayisi"</string>
<string name="no_new_perms" msgid="6657813692169565975">"Lesi sibuyekezo asidingi zimvume."</string>
<string name="grant_confirm_question" msgid="4690289297029223742">"Ufuna ukunikeza lezi zimvume ezilandelayo? Izothola ukufinyelela ku-:"</string>
- <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Vumela"</string>
<string name="grant_dialog_button_deny" msgid="2176510645406614340">"Phika"</string>
+ <string name="grant_dialog_button_deny_anyway" msgid="847960499284125250">"Yenqaba noma kunjalo"</string>
<string name="current_permission_template" msgid="6378304249516652817">"<xliff:g id="CURRENT_PERMISSION_INDEX">%1$s</xliff:g> kokungu-<xliff:g id="PERMISSION_COUNT">%2$s</xliff:g>"</string>
- <string name="permission_warning_template" msgid="5209102765005869454">"Vumela i-<xliff:g id="APP_NAME">%1$s</xliff:g> ukuthi <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="permission_warning_template" msgid="7332275268559121742">"Vumela i-&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ukuthi <xliff:g id="ACTION">%2$s</xliff:g>?"</string>
+ <string name="grant_dialog_button_allow" msgid="4616529495342337095">"Vumela"</string>
<string name="app_permissions_breadcrumb" msgid="3390836200791539264">"Izinhlelo zokusebenza"</string>
<string name="app_permissions" msgid="3146758905824597178">"Izimvume zohlelo lokusebenza"</string>
- <string name="never_ask_again" msgid="3798895821072102967">"Ungaphinde ubuze"</string>
+ <string name="never_ask_again" msgid="1089938738199748687">"Ungaphindi ubuze"</string>
<string name="no_permissions" msgid="3210542466245591574">"Akukho zimvume"</string>
<string name="additional_permissions" msgid="6667573114240111763">"Izimvume ezingeziwe"</string>
<plurals name="additional_permissions_more" formatted="false" msgid="945127158155064388">
@@ -119,5 +116,14 @@
<string name="screen_overlay_message" msgid="2141944461571677331">"Ukuze uguqule lesi silungiselelo semvume, kuzomele uqale uvale imbondela yesikrini kusukela ku-Izilungiselelo &gt; Izinhlelo zokusebenza"</string>
<string name="screen_overlay_button" msgid="4344544843349937743">"Vula izilungiselelo"</string>
<string name="wear_not_allowed_dlg_title" msgid="8104666773577525713">"I-Android Wear"</string>
- <string name="wear_not_allowed_dlg_text" msgid="1618381127237173068">"Izenzo zokufaka/ukukhipha azisekelwe ku-Wear."</string>
+ <string name="wear_not_allowed_dlg_text" msgid="1322352525843583064">"Izenzo zokufaka/ukukhipha azisekelwe ku-Wear."</string>
+ <string name="permission_review_warning_title_template_update" msgid="2569412700408535872">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> ibuyekeziwe. Vumela i-<xliff:g id="APP_NAME_1">%1$s</xliff:g> ukufinyelela okulandelayo?"</string>
+ <string name="permission_review_title_template_install" msgid="6535540493936469336">"Khetha ongakuvumela ukuthi kufinyelelwe yi-<xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+ <string name="permission_review_title_template_update" msgid="2548815248828051885">"<xliff:g id="APP_NAME">%1$s</xliff:g> ibuyekeziwe. Khetha ongakuvumela ukuthi kufinyelelwe yilolu hlelo lokusebenza."</string>
+ <string name="review_button_cancel" msgid="957906817733578877">"Khansela"</string>
+ <string name="review_button_continue" msgid="4809162078179371370">"Qhubeka"</string>
+ <string name="new_permissions_category" msgid="3213523410139204183">"Izimvume ezintsha"</string>
+ <string name="current_permissions_category" msgid="998210994450606094">"Izimvume zamanje"</string>
+ <string name="message_staging" msgid="6151794817691100003">"Ifaka kusiteji uhlelo lokusebenza…"</string>
+ <string name="app_name_unknown" msgid="8931522764510159105">"Akwaziwa"</string>
</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 0f1a73f2..12ad5f12 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -48,41 +48,27 @@
to this built-in application? Your existing data will not
be lost. It does not require any special access.</string>
<string name="install_failed">App not installed.</string>
- <!-- Reason displayed when installation fails because the installation package itself is invalid
- in some way (e.g., corrupt) [CHAR LIMIT=100] -->
- <string name="install_failed_invalid_apk">The package appears to be corrupt.</string>
- <!-- Reason displayed when installation fails because the package an existing package is
- installed with a conflicting package author signature [CHAR LIMIT=100] -->
- <string name="install_failed_inconsistent_certificates">An existing package by the same name
- with a conflicting signature is already installed.</string>
- <!-- Reason displayed when installation fails because the package specifies a minimum compatible
- OS version that is newer than our current OS version. [CHAR LIMIT=100] -->
- <string name="install_failed_older_sdk">The package only works on newer versions of
- Android.</string>
- <!-- Reason displayed when installation fails because the package specifies it is compatible
- only with a CPU that the current tablet doesn't have. [CHAR LIMIT=100] -->
- <string name="install_failed_cpu_abi_incompatible" product="tablet">This app isn\'t
+ <!-- Reason displayed when installation fails because the package was blocked
+ from being installed (e.g., device policy, verification, ...) [CHAR LIMIT=100] -->
+ <string name="install_failed_blocked">The package was blocked from being installed.</string>
+ <!-- Reason displayed when installation fails because the package conflicts with
+ an existing application (e.g., incompatible certificates) [CHAR LIMIT=100] -->
+ <string name="install_failed_conflict">The package conflicts with an existing package by the same name.</string>
+ <!-- Reason displayed when installation fails because the package is incompatible with
+ the current tablet (e.g., missing native code for the current ABI, newer SDK, ...) [CHAR LIMIT=100] -->
+ <string name="install_failed_incompatible" product="tablet">This app isn\'t
compatible with your tablet.</string>
- <!-- Reason displayed when installation fails because the package specifies it is compatible
- only with a CPU that the current TV doesn't have. [CHAR LIMIT=100] -->
- <string name="install_failed_cpu_abi_incompatible" product="tv">This app isn\'t
+ <!-- Reason displayed when installation fails because the package is incompatible with
+ the current TV (e.g., missing native code for the current ABI, newer SDK, ...) [CHAR LIMIT=100] -->
+ <string name="install_failed_incompatible" product="tv">This app isn\'t
compatible with your TV.</string>
- <!-- Reason displayed when installation fails because the package specifies it is compatible
- only with a CPU that the current phone doesn't have. [CHAR LIMIT=100] -->
- <string name="install_failed_cpu_abi_incompatible" product="default">This app isn\'t
+ <!-- Reason displayed when installation fails because the package is incompatible with
+ the current phone (e.g., missing native code for the current ABI, newer SDK, ...) [CHAR LIMIT=100] -->
+ <string name="install_failed_incompatible" product="default">This app isn\'t
compatible with your phone.</string>
- <!-- Reason displayed when installation fails because the package was deleted during the
- installation process. [CHAR LIMIT=100] -->
- <string name="install_failed_file_not_found">The package specified was deleted before
- installation could be completed.</string>
- <!-- Reason displayed when installation fails because the package could not be verified
- because the package verifier rejected it. [CHAR LIMIT=100] -->
- <string name="install_failed_verify_failed">The package did not pass verification and cannot
- be installed.</string>
- <!-- Reason displayed when installation fails because the package could not be verified
- before the internal system timer expired. [CHAR LIMIT=100] -->
- <string name="install_failed_verify_timeout">A timeout occurred while trying to verify this
- package. Try to install it again later.</string>
+ <!-- Reason displayed when installation fails because the installation package itself is invalid
+ in some way (e.g., corrupt) [CHAR LIMIT=100] -->
+ <string name="install_failed_invalid_apk">The package appears to be corrupt.</string>
<!-- Message presented when an application could not be installed on the tablet for some reason. [CHAR LIMIT=100] -->
<string name="install_failed_msg" product="tablet"><xliff:g id="app_name">%1$s</xliff:g> couldn\'t be installed on your tablet.</string>
<!-- Message presented when an application could not be installed on the TV for some reason. [CHAR LIMIT=100] -->
@@ -90,7 +76,6 @@
<!-- Message presented when an application could not be installed on the phone for some reason. [CHAR LIMIT=100] -->
<string name="install_failed_msg" product="default"><xliff:g id="app_name">%1$s</xliff:g> couldn\'t be installed on your phone.</string>
<string name="launch">Open</string>
- <string name="unknown_apps_dlg_title">Install blocked</string>
<!-- Message presented in a dialog box when a package is requested to be installed, but the "Allow unknown applications" checkbox is not enabled. [CHAR LIMIT=100] -->
<string name="unknown_apps_dlg_text" product="tablet">For security, your tablet is set to block installation of apps obtained from unknown sources.</string>
<!-- Message presented in a dialog box when a package is requested to be installed, but the "Allow unknown applications" checkbox is not enabled. [CHAR LIMIT=100] -->
@@ -102,11 +87,6 @@
<string name="ok">OK</string>
<string name="settings">Settings</string>
- <!-- Title of dialog asking user if they would allow an application to be an install source. -->
- <string name="allow_source_dlg_title">New source for apps</string>
- <!-- Message of dialog asking user if they would allow an application to be an install source. -->
- <string name="allow_source_dlg_text"><xliff:g id="app_name">%1$s</xliff:g> wants to install other apps.\n\nAllow
- this now and in the future?</string>
<string name="manage_applications">Manage apps</string>
<string name="dlg_app_replacement_title">Replace app?</string>
<string name="dlg_app_replacement_statement">The app you\'re installing will replace another app.\n\nAll your previous user data will be saved.</string>
@@ -125,7 +105,8 @@
<string name="uninstall_application_text_all_users">Do you want to uninstall this app for <b>all</b>
users? The application and its data will be removed from <b>all</b> users on the device.</string>
<string name="uninstall_application_text_user">Do you want to uninstall this app for the user <xliff:g id="username">%1$s</xliff:g>?</string>
- <string name="uninstall_update_text">Do you want to replace this app with the factory version?</string>
+ <string name="uninstall_update_text">Replace this app with the factory version? All data will be removed.</string>
+ <string name="uninstall_update_text_multiuser">Replace this app with the factory version? All data will be removed. This affects all users of this device, including those with work profiles.</string>
<string name="uninstalling">Uninstalling\u2026</string>
<string name="uninstall_done">Uninstall finished.</string>
<string name="uninstall_failed">Uninstall unsuccessful.</string>
@@ -137,10 +118,15 @@
is a current device administrator for some user [CHAR LIMIT=100] -->
<string name="uninstall_failed_device_policy_manager_of_user">Can\'t uninstall because this package is an
active device administrator for the user <xliff:g id="username">%1$s</xliff:g>.</string>
+ <!-- String presented to the admin user when uninstalling a package for all users failed
+ because a profile owner has marked the target package as not able to be uninstalled
+ [CHAR LIMIT=120] -->
+ <string name="uninstall_all_blocked_profile_owner">This app is required for some users or
+ profiles and was uninstalled for others</string>
<!-- String presented to the user when uninstalling a package failed because a profile owner
- has marked the the target package as not able to be uninstalled [CHAR LIMIT=80] -->
+ has marked the target package as not able to be uninstalled [CHAR LIMIT=120] -->
<string name="uninstall_blocked_profile_owner">This app is needed for
- your work profile and can\'t be uninstalled.</string>
+ your profile and can\'t be uninstalled.</string>
<!-- String presented to the user when uninstalling a package failed because a device owner
has marked the the target package as not able to be uninstalled [CHAR LIMIT=80] -->
<string name="uninstall_blocked_device_owner">This app is required
@@ -149,10 +135,13 @@
user will be able to disable the device administrator in order to uninstall
it. [CHAR LIMIT=50] -->
<string name="manage_device_administrators">Manage device administrators</string>
+ <!-- String on a button that leads to the "Users" page in Settings where a
+ user will be able to remove the secondary user(s) in order to uninstall
+ the app. [CHAR LIMIT=50] -->
+ <string name="manage_users">Manage users</string>
<string name="uninstall_failed_msg"><xliff:g id="app_name">%1$s</xliff:g> couldn\'t be uninstalled.</string>
<!-- Dialog attributes to indicate parse errors -->
- <string name="Parse_error_dlg_title">Parse error</string>
<string name="Parse_error_dlg_text">There was a problem parsing the package.</string>
<!-- Tab label for new permissions being added to an existing app [CHAR LIMIT=20] -->
@@ -170,13 +159,12 @@
<string name="grant_confirm_question">Do you want to grant the following permissions?
It will get access to:</string>
-
- <!-- Title for the dialog button to allow a permission grant. -->
- <string name="grant_dialog_button_allow">Allow</string>
-
<!-- Title for the dialog button to deny a permission grant. -->
<string name="grant_dialog_button_deny">Deny</string>
+ <!-- Title for the dialog button to deny a permission grant despite a warning of implications. -->
+ <string name="grant_dialog_button_deny_anyway">Deny anyway</string>
+
<!-- Template for the current permission from the total number of permissions. -->
<string name="current_permission_template">
<xliff:g id="current_permission_index" example="1">%1$s</xliff:g> of
@@ -184,11 +172,14 @@
<!-- Template for the warning message when an app requests a permission. -->
<string name="permission_warning_template">Allow
- <xliff:g id="app_name" example="Gmail">%1$s</xliff:g> to
+ &lt;b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g>&lt;/b> to
<xliff:g id="action" example="do something">%2$s</xliff:g>?</string>
<!-- Permissions -->
+ <!-- Title for the dialog button to allow a permission grant. -->
+ <string name="grant_dialog_button_allow">Allow</string>
+
<!-- Title of an application permission, listed so the user can choose whether they want
to allow the application to do this. -->
<string name="permlab_togglePermissions" translatable="false">toggle permissions</string>
@@ -204,7 +195,7 @@
<string name="app_permissions">App permissions</string>
<!-- Checkbox that allows user to not be questioned about this permission
request again -->
- <string name="never_ask_again">Never ask again</string>
+ <string name="never_ask_again">Don\'t ask again</string>
<!-- Label when app requests no permissions -->
<string name="no_permissions">No permissions</string>
@@ -277,6 +268,44 @@
<!-- Title of dialog telling users that Install/Uninstall action is not supported on Android Wear. -->
<string name="wear_not_allowed_dlg_title">Android Wear</string>
<!-- Title of dialog telling users that Install/Uninstall action is not supported on Android Wear. -->
- <string name="wear_not_allowed_dlg_text">Instal/Uninstall actions not supported on Wear.</string>
+ <string name="wear_not_allowed_dlg_text">Install/Uninstall actions not supported on Wear.</string>
+
+ <!-- Review of runtime permissions for legacy apps -->
+
+ <!-- Template for the warning title when an updated app's requested permissions are reviewed. -->
+ <string name="permission_review_warning_title_template_update">
+ <xliff:g id="app_name" example="Gmail">%1$s</xliff:g> has been updated.
+ Allow <xliff:g id="app_name" example="Gmail">%1$s</xliff:g> to
+ access the following?</string>
+
+ <!-- Template for the screen title when app permissions are reviewed on install. -->
+ <string name="permission_review_title_template_install">Choose what to allow
+ <xliff:g id="app_name" example="Gmail">%1$s</xliff:g> to access</string>
+
+ <!-- Template for the screen title when app permissions are reviewed on update. -->
+ <string name="permission_review_title_template_update">
+ <xliff:g id="app_name" example="Gmail">%1$s</xliff:g> has been updated.
+ Choose what to allow this app to access.</string>
+
+ <!-- Title for the dialog button to cancel the detailed permission review. -->
+ <string name="review_button_cancel">Cancel</string>
+
+ <!-- Title for the dialog button to continue accepting the detailed permission review. -->
+ <string name="review_button_continue">Continue</string>
+
+ <!-- Title for the category listing the new permissions used by an app. -->
+ <string name="new_permissions_category">New permissions</string>
+
+ <!-- Title for the category listing the current permissions used by an app. -->
+ <string name="current_permissions_category">Current permissions</string>
+
+ <!-- Message that the app to be installed is being staged -->
+ <string name="message_staging">Staging app&#8230;</string>
+
+ <!-- Placeholder for an app name when it is unknown -->
+ <string name="app_name_unknown">Unknown</string>
+
+ <!-- Help URL, application permissions [DO NOT TRANSLATE] -->
+ <string name="help_app_permissions" translatable="false"></string>
</resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 7f6a4693..c69558b6 100755
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -17,7 +17,26 @@
<resources>
<style name="Theme.DialogWhenLarge"
- parent="@android:style/Theme.DeviceDefault.Light.DialogWhenLarge.NoActionBar">
+ parent="@android:style/Theme.Material.Light.DialogWhenLarge.NoActionBar">
+ <item name="android:textAppearanceMedium">@style/MediumText</item>
+ <item name="android:textAppearanceSmall">@style/SmallText</item>
+ <item name="android:titleTextStyle">@style/TitleText</item>
+ </style>
+
+ <style name="MediumText"
+ parent="@android:style/TextAppearance.Medium">
+ <item name="android:textColor">?android:attr/textColorPrimary</item>
+ </style>
+
+ <style name="SmallText"
+ parent="@android:style/TextAppearance.Small">
+ <item name="android:textColor">?android:attr/textColorPrimary</item>
+ </style>
+
+ <style name="TitleText">
+ <item name="android:fontFamily">sans-serif-medium</item>
+ <item name="android:textSize">20dp</item>
+ <item name="android:textColor">?android:attr/textColorPrimary</item>
</style>
<style name="Theme.AlertDialogActivity"
diff --git a/res/values/themes.xml b/res/values/themes.xml
index 026c77fa..db4b744e 100644
--- a/res/values/themes.xml
+++ b/res/values/themes.xml
@@ -21,8 +21,16 @@
parent="@android:style/Theme.DeviceDefault.Settings">
</style>
+ <style name="Settings.NoActionBar" parent="@style/Settings">
+ <item name="android:windowActionBar">false</item>
+ <item name="android:windowNoTitle">true</item>
+ </style>
+
<style name="GrantPermissions"
parent="@android:style/Theme.DeviceDefault.Light.Dialog.NoActionBar">
+ <item name="*android:windowFixedHeightMajor">100%</item>
+ <item name="*android:windowFixedHeightMinor">100%</item>
+ <item name="android:windowBackground">@android:color/transparent</item>
</style>
</resources>
diff --git a/res/xml/all_permissions.xml b/res/xml/all_permissions.xml
index 06e929fe..5f7f847b 100644
--- a/res/xml/all_permissions.xml
+++ b/res/xml/all_permissions.xml
@@ -15,10 +15,10 @@
-->
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
- android:title="@string/all_permissions">
+ android:title="@string/all_permissions">
<PreferenceCategory
- android:key="other_perms"
- android:title="@string/other_permissions" />
+ android:key="other_perms"
+ android:title="@string/other_permissions" />
</PreferenceScreen>
diff --git a/src/com/android/packageinstaller/EventLogTags.logtags b/src/com/android/packageinstaller/EventLogTags.logtags
deleted file mode 100644
index 8cbb1ccd..00000000
--- a/src/com/android/packageinstaller/EventLogTags.logtags
+++ /dev/null
@@ -1,6 +0,0 @@
-# See system/core/logcat/event.logtags for a description of the format of this file.
-
-option java_package com.android.packageinstaller
-
-# APK install attempt via PackageInstaller (see InstallFlowAnalytics for format)
-90300 install_package_attempt (result_and_flags|1),(total_time|1|3),(time_till_pkg_info_obtained|1|3),(time_till_install_clicked|1|3),(package_digest|3)
diff --git a/src/com/android/packageinstaller/InstallAppProgress.java b/src/com/android/packageinstaller/InstallAppProgress.java
index d51cab1d..7554704b 100755
--- a/src/com/android/packageinstaller/InstallAppProgress.java
+++ b/src/com/android/packageinstaller/InstallAppProgress.java
@@ -16,32 +16,43 @@
*/
package com.android.packageinstaller;
+import static android.content.pm.PackageInstaller.SessionParams.UID_UNKNOWN;
+
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
+import android.app.PendingIntent;
+import android.content.ActivityNotFoundException;
+import android.content.BroadcastReceiver;
+import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnCancelListener;
import android.content.Intent;
+import android.content.IntentFilter;
import android.content.pm.ApplicationInfo;
-import android.content.pm.IPackageInstallObserver;
-import android.content.pm.ManifestDigest;
import android.content.pm.PackageInfo;
+import android.content.pm.PackageInstaller;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.ResolveInfo;
-import android.content.pm.VerificationParams;
-import android.graphics.drawable.LevelListDrawable;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
+import android.os.HandlerThread;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.widget.Button;
+import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.TextView;
+import com.android.packageinstaller.permission.utils.IoUtils;
import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
import java.util.List;
/**
@@ -54,14 +65,12 @@ import java.util.List;
*/
public class InstallAppProgress extends Activity implements View.OnClickListener, OnCancelListener {
private final String TAG="InstallAppProgress";
- private boolean localLOGV = false;
- static final String EXTRA_MANIFEST_DIGEST =
- "com.android.packageinstaller.extras.manifest_digest";
- static final String EXTRA_INSTALL_FLOW_ANALYTICS =
- "com.android.packageinstaller.extras.install_flow_analytics";
+ private static final String BROADCAST_ACTION =
+ "com.android.packageinstaller.ACTION_INSTALL_COMMIT";
+ private static final String BROADCAST_SENDER_PERMISSION =
+ "android.permission.INSTALL_PACKAGES";
private ApplicationInfo mAppInfo;
private Uri mPackageURI;
- private InstallFlowAnalytics mInstallFlowAnalytics;
private ProgressBar mProgressBar;
private View mOkPanel;
private TextView mStatusTextView;
@@ -72,31 +81,31 @@ public class InstallAppProgress extends Activity implements View.OnClickListener
private Intent mLaunchIntent;
private static final int DLG_OUT_OF_SPACE = 1;
private CharSequence mLabel;
+ private HandlerThread mInstallThread;
+ private Handler mInstallHandler;
private Handler mHandler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case INSTALL_COMPLETE:
- mInstallFlowAnalytics.setFlowFinishedWithPackageManagerResult(msg.arg1);
if (getIntent().getBooleanExtra(Intent.EXTRA_RETURN_RESULT, false)) {
Intent result = new Intent();
result.putExtra(Intent.EXTRA_INSTALL_RESULT, msg.arg1);
- setResult(msg.arg1 == PackageManager.INSTALL_SUCCEEDED
+ setResult(msg.arg1 == PackageInstaller.STATUS_SUCCESS
? Activity.RESULT_OK : Activity.RESULT_FIRST_USER,
result);
- finish();
+ clearCachedApkIfNeededAndFinish();
return;
}
// Update the status text
- mProgressBar.setVisibility(View.INVISIBLE);
+ mProgressBar.setVisibility(View.GONE);
// Show the ok button
int centerTextLabel;
int centerExplanationLabel = -1;
- LevelListDrawable centerTextDrawable =
- (LevelListDrawable) getDrawable(R.drawable.ic_result_status);
- if (msg.arg1 == PackageManager.INSTALL_SUCCEEDED) {
+ if (msg.arg1 == PackageInstaller.STATUS_SUCCESS) {
mLaunchButton.setVisibility(View.VISIBLE);
- centerTextDrawable.setLevel(0);
+ ((ImageView)findViewById(R.id.center_icon))
+ .setImageDrawable(getDrawable(R.drawable.ic_done_92));
centerTextLabel = R.string.install_done;
// Enable or disable launch button
mLaunchIntent = getPackageManager().getLaunchIntentForPackage(
@@ -114,29 +123,26 @@ public class InstallAppProgress extends Activity implements View.OnClickListener
} else {
mLaunchButton.setEnabled(false);
}
- } else if (msg.arg1 == PackageManager.INSTALL_FAILED_INSUFFICIENT_STORAGE){
+ } else if (msg.arg1 == PackageInstaller.STATUS_FAILURE_STORAGE){
showDialogInner(DLG_OUT_OF_SPACE);
return;
} else {
// Generic error handling for all other error codes.
- centerTextDrawable.setLevel(1);
+ ((ImageView)findViewById(R.id.center_icon))
+ .setImageDrawable(getDrawable(R.drawable.ic_report_problem_92));
centerExplanationLabel = getExplanationFromErrorCode(msg.arg1);
centerTextLabel = R.string.install_failed;
- mLaunchButton.setVisibility(View.INVISIBLE);
- }
- if (centerTextDrawable != null) {
- centerTextDrawable.setBounds(0, 0,
- centerTextDrawable.getIntrinsicWidth(),
- centerTextDrawable.getIntrinsicHeight());
- mStatusTextView.setCompoundDrawablesRelative(centerTextDrawable, null,
- null, null);
+ mLaunchButton.setVisibility(View.GONE);
}
- mStatusTextView.setText(centerTextLabel);
if (centerExplanationLabel != -1) {
mExplanationTextView.setText(centerExplanationLabel);
- mExplanationTextView.setVisibility(View.VISIBLE);
+ findViewById(R.id.center_view).setVisibility(View.GONE);
+ ((TextView)findViewById(R.id.explanation_status)).setText(centerTextLabel);
+ findViewById(R.id.explanation_view).setVisibility(View.VISIBLE);
} else {
- mExplanationTextView.setVisibility(View.GONE);
+ ((TextView)findViewById(R.id.center_text)).setText(centerTextLabel);
+ findViewById(R.id.center_view).setVisibility(View.VISIBLE);
+ findViewById(R.id.explanation_view).setVisibility(View.GONE);
}
mDoneButton.setOnClickListener(InstallAppProgress.this);
mOkPanel.setVisibility(View.VISIBLE);
@@ -146,18 +152,31 @@ public class InstallAppProgress extends Activity implements View.OnClickListener
}
}
};
-
+
+ private final BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ final int statusCode = intent.getIntExtra(
+ PackageInstaller.EXTRA_STATUS, PackageInstaller.STATUS_FAILURE);
+ if (statusCode == PackageInstaller.STATUS_PENDING_USER_ACTION) {
+ context.startActivity((Intent)intent.getParcelableExtra(Intent.EXTRA_INTENT));
+ } else {
+ onPackageInstalled(statusCode);
+ }
+ }
+ };
+
private int getExplanationFromErrorCode(int errCode) {
Log.d(TAG, "Installation error code: " + errCode);
switch (errCode) {
- case PackageManager.INSTALL_FAILED_INVALID_APK:
+ case PackageInstaller.STATUS_FAILURE_BLOCKED:
+ return R.string.install_failed_blocked;
+ case PackageInstaller.STATUS_FAILURE_CONFLICT:
+ return R.string.install_failed_conflict;
+ case PackageInstaller.STATUS_FAILURE_INCOMPATIBLE:
+ return R.string.install_failed_incompatible;
+ case PackageInstaller.STATUS_FAILURE_INVALID:
return R.string.install_failed_invalid_apk;
- case PackageManager.INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES:
- return R.string.install_failed_inconsistent_certificates;
- case PackageManager.INSTALL_FAILED_OLDER_SDK:
- return R.string.install_failed_older_sdk;
- case PackageManager.INSTALL_FAILED_CPU_ABI_INCOMPATIBLE:
- return R.string.install_failed_cpu_abi_incompatible;
default:
return -1;
}
@@ -168,21 +187,32 @@ public class InstallAppProgress extends Activity implements View.OnClickListener
super.onCreate(icicle);
Intent intent = getIntent();
mAppInfo = intent.getParcelableExtra(PackageUtil.INTENT_ATTR_APPLICATION_INFO);
- mInstallFlowAnalytics = intent.getParcelableExtra(EXTRA_INSTALL_FLOW_ANALYTICS);
- mInstallFlowAnalytics.setContext(this);
mPackageURI = intent.getData();
final String scheme = mPackageURI.getScheme();
if (scheme != null && !"file".equals(scheme) && !"package".equals(scheme)) {
- mInstallFlowAnalytics.setFlowFinished(
- InstallFlowAnalytics.RESULT_FAILED_UNSUPPORTED_SCHEME);
throw new IllegalArgumentException("unexpected scheme " + scheme);
}
+ mInstallThread = new HandlerThread("InstallThread");
+ mInstallThread.start();
+ mInstallHandler = new Handler(mInstallThread.getLooper());
+
+ IntentFilter intentFilter = new IntentFilter();
+ intentFilter.addAction(BROADCAST_ACTION);
+ registerReceiver(
+ mBroadcastReceiver, intentFilter, BROADCAST_SENDER_PERMISSION, null /*scheduler*/);
+
initView();
}
@Override
+ public void onBackPressed() {
+ clearCachedApkIfNeededAndFinish();
+ }
+
+ @SuppressWarnings("deprecation")
+ @Override
public Dialog onCreateDialog(int id, Bundle bundle) {
switch (id) {
case DLG_OUT_OF_SPACE:
@@ -195,13 +225,13 @@ public class InstallAppProgress extends Activity implements View.OnClickListener
//launch manage applications
Intent intent = new Intent("android.intent.action.MANAGE_PACKAGE_STORAGE");
startActivity(intent);
- finish();
+ clearCachedApkIfNeededAndFinish();
}
})
.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Log.i(TAG, "Canceling installation");
- finish();
+ clearCachedApkIfNeededAndFinish();
}
})
.setOnCancelListener(this)
@@ -210,36 +240,85 @@ public class InstallAppProgress extends Activity implements View.OnClickListener
return null;
}
+ @SuppressWarnings("deprecation")
private void showDialogInner(int id) {
removeDialog(id);
showDialog(id);
}
- class PackageInstallObserver extends IPackageInstallObserver.Stub {
- public void packageInstalled(String packageName, int returnCode) {
- Message msg = mHandler.obtainMessage(INSTALL_COMPLETE);
- msg.arg1 = returnCode;
- mHandler.sendMessage(msg);
- }
+ void onPackageInstalled(int statusCode) {
+ Message msg = mHandler.obtainMessage(INSTALL_COMPLETE);
+ msg.arg1 = statusCode;
+ mHandler.sendMessage(msg);
}
- public void initView() {
- setContentView(R.layout.op_progress);
- int installFlags = 0;
+ int getInstallFlags(String packageName) {
PackageManager pm = getPackageManager();
try {
- PackageInfo pi = pm.getPackageInfo(mAppInfo.packageName,
- PackageManager.GET_UNINSTALLED_PACKAGES);
- if(pi != null) {
- installFlags |= PackageManager.INSTALL_REPLACE_EXISTING;
+ PackageInfo pi =
+ pm.getPackageInfo(packageName, PackageManager.GET_UNINSTALLED_PACKAGES);
+ if (pi != null) {
+ return PackageManager.INSTALL_REPLACE_EXISTING;
}
} catch (NameNotFoundException e) {
}
- if((installFlags & PackageManager.INSTALL_REPLACE_EXISTING )!= 0) {
- Log.w(TAG, "Replacing package:" + mAppInfo.packageName);
+ return 0;
+ }
+
+ private void doPackageStage(PackageManager pm, PackageInstaller.SessionParams params) {
+ final PackageInstaller packageInstaller = pm.getPackageInstaller();
+ PackageInstaller.Session session = null;
+ try {
+ final String packageLocation = mPackageURI.getPath();
+ final File file = new File(packageLocation);
+ final int sessionId = packageInstaller.createSession(params);
+ final byte[] buffer = new byte[65536];
+
+ session = packageInstaller.openSession(sessionId);
+
+ final InputStream in = new FileInputStream(file);
+ final long sizeBytes = file.length();
+ final OutputStream out = session.openWrite("PackageInstaller", 0, sizeBytes);
+ try {
+ int c;
+ while ((c = in.read(buffer)) != -1) {
+ out.write(buffer, 0, c);
+ if (sizeBytes > 0) {
+ final float fraction = ((float) c / (float) sizeBytes);
+ session.addProgress(fraction);
+ }
+ }
+ session.fsync(out);
+ } finally {
+ IoUtils.closeQuietly(in);
+ IoUtils.closeQuietly(out);
+ }
+
+ // Create a PendingIntent and use it to generate the IntentSender
+ Intent broadcastIntent = new Intent(BROADCAST_ACTION);
+ PendingIntent pendingIntent = PendingIntent.getBroadcast(
+ InstallAppProgress.this /*context*/,
+ sessionId,
+ broadcastIntent,
+ PendingIntent.FLAG_UPDATE_CURRENT);
+ session.commit(pendingIntent.getIntentSender());
+ } catch (IOException e) {
+ onPackageInstalled(PackageInstaller.STATUS_FAILURE);
+ } finally {
+ IoUtils.closeQuietly(session);
}
+ }
+
+ void initView() {
+ setContentView(R.layout.op_progress);
final PackageUtil.AppSnippet as;
+ final PackageManager pm = getPackageManager();
+ final int installFlags = getInstallFlags(mAppInfo.packageName);
+
+ if((installFlags & PackageManager.INSTALL_REPLACE_EXISTING )!= 0) {
+ Log.w(TAG, "Replacing package:" + mAppInfo.packageName);
+ }
if ("package".equals(mPackageURI.getScheme())) {
as = new PackageUtil.AppSnippet(pm.getApplicationLabel(mAppInfo),
pm.getApplicationIcon(mAppInfo));
@@ -250,45 +329,44 @@ public class InstallAppProgress extends Activity implements View.OnClickListener
mLabel = as.label;
PackageUtil.initSnippetForNewApp(this, as, R.id.app_snippet);
mStatusTextView = (TextView)findViewById(R.id.center_text);
- mStatusTextView.setText(R.string.installing);
- mExplanationTextView = (TextView) findViewById(R.id.center_explanation);
+ mExplanationTextView = (TextView) findViewById(R.id.explanation);
mProgressBar = (ProgressBar) findViewById(R.id.progress_bar);
mProgressBar.setIndeterminate(true);
// Hide button till progress is being displayed
- mOkPanel = (View)findViewById(R.id.buttons_panel);
+ mOkPanel = findViewById(R.id.buttons_panel);
mDoneButton = (Button)findViewById(R.id.done_button);
mLaunchButton = (Button)findViewById(R.id.launch_button);
mOkPanel.setVisibility(View.INVISIBLE);
- String installerPackageName = getIntent().getStringExtra(
- Intent.EXTRA_INSTALLER_PACKAGE_NAME);
- Uri originatingURI = getIntent().getParcelableExtra(Intent.EXTRA_ORIGINATING_URI);
- Uri referrer = getIntent().getParcelableExtra(Intent.EXTRA_REFERRER);
- int originatingUid = getIntent().getIntExtra(Intent.EXTRA_ORIGINATING_UID,
- VerificationParams.NO_UID);
- ManifestDigest manifestDigest = getIntent().getParcelableExtra(EXTRA_MANIFEST_DIGEST);
- VerificationParams verificationParams = new VerificationParams(null, originatingURI,
- referrer, originatingUid, manifestDigest);
- PackageInstallObserver observer = new PackageInstallObserver();
-
if ("package".equals(mPackageURI.getScheme())) {
try {
pm.installExistingPackage(mAppInfo.packageName);
- observer.packageInstalled(mAppInfo.packageName,
- PackageManager.INSTALL_SUCCEEDED);
+ onPackageInstalled(PackageInstaller.STATUS_SUCCESS);
} catch (PackageManager.NameNotFoundException e) {
- observer.packageInstalled(mAppInfo.packageName,
- PackageManager.INSTALL_FAILED_INVALID_APK);
+ onPackageInstalled(PackageInstaller.STATUS_FAILURE_INVALID);
}
} else {
- pm.installPackageWithVerificationAndEncryption(mPackageURI, observer, installFlags,
- installerPackageName, verificationParams, null);
+ final PackageInstaller.SessionParams params = new PackageInstaller.SessionParams(
+ PackageInstaller.SessionParams.MODE_FULL_INSTALL);
+ params.referrerUri = getIntent().getParcelableExtra(Intent.EXTRA_REFERRER);
+ params.originatingUri = getIntent().getParcelableExtra(Intent.EXTRA_ORIGINATING_URI);
+ params.originatingUid = getIntent().getIntExtra(Intent.EXTRA_ORIGINATING_UID,
+ UID_UNKNOWN);
+
+ mInstallHandler.post(new Runnable() {
+ @Override
+ public void run() {
+ doPackageStage(pm, params);
+ }
+ });
}
}
@Override
protected void onDestroy() {
super.onDestroy();
+ unregisterReceiver(mBroadcastReceiver);
+ mInstallThread.getLooper().quitSafely();
}
public void onClick(View v) {
@@ -296,14 +374,31 @@ public class InstallAppProgress extends Activity implements View.OnClickListener
if (mAppInfo.packageName != null) {
Log.i(TAG, "Finished installing "+mAppInfo.packageName);
}
- finish();
+ clearCachedApkIfNeededAndFinish();
} else if(v == mLaunchButton) {
- startActivity(mLaunchIntent);
- finish();
+ try {
+ startActivity(mLaunchIntent);
+ } catch (ActivityNotFoundException e) {
+ Log.e(TAG, "Could not start activity", e);
+ }
+ clearCachedApkIfNeededAndFinish();
}
}
public void onCancel(DialogInterface dialog) {
+ clearCachedApkIfNeededAndFinish();
+ }
+
+ private void clearCachedApkIfNeededAndFinish() {
+ // If we are installing from a content:// the apk is copied in the cache
+ // dir and passed in here. As we aren't started for a result because our
+ // caller needs to be able to forward the result, here we make sure the
+ // staging file in the cache dir is removed.
+ if ("file".equals(mPackageURI.getScheme()) && mPackageURI.getPath() != null
+ && mPackageURI.getPath().startsWith(getCacheDir().toString())) {
+ File file = new File(mPackageURI.getPath());
+ file.delete();
+ }
finish();
}
}
diff --git a/src/com/android/packageinstaller/InstallFlowAnalytics.java b/src/com/android/packageinstaller/InstallFlowAnalytics.java
deleted file mode 100644
index 4591f31c..00000000
--- a/src/com/android/packageinstaller/InstallFlowAnalytics.java
+++ /dev/null
@@ -1,608 +0,0 @@
-/*
-**
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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.packageinstaller;
-
-import android.content.Context;
-import android.content.pm.PackageManager;
-import android.net.Uri;
-import android.os.AsyncTask;
-import android.os.Parcel;
-import android.os.Parcelable;
-import android.os.SystemClock;
-import android.provider.Settings;
-import android.util.EventLog;
-import android.util.Log;
-
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-
-import libcore.io.IoUtils;
-
-/**
- * Analytics about an attempt to install a package via {@link PackageInstallerActivity}.
- *
- * <p>An instance of this class is created at the beginning of the install flow and gradually filled
- * as the user progresses through the flow. When the flow terminates (regardless of the reason),
- * {@link #setFlowFinished(byte)} is invoked which reports the installation attempt as an event
- * to the Event Log.
- */
-public class InstallFlowAnalytics implements Parcelable {
-
- private static final String TAG = "InstallFlowAnalytics";
-
- /** Installation has not yet terminated. */
- static final byte RESULT_NOT_YET_AVAILABLE = -1;
-
- /** Package successfully installed. */
- static final byte RESULT_SUCCESS = 0;
-
- /** Installation failed because scheme unsupported. */
- static final byte RESULT_FAILED_UNSUPPORTED_SCHEME = 1;
-
- /**
- * Installation of an APK failed because of a failure to obtain information from the provided
- * APK.
- */
- static final byte RESULT_FAILED_TO_GET_PACKAGE_INFO = 2;
-
- /**
- * Installation of an already installed package into the current user profile failed because the
- * specified package is not installed.
- */
- static final byte RESULT_FAILED_PACKAGE_MISSING = 3;
-
- /**
- * Installation failed because installation from unknown sources is prohibited by the Unknown
- * Sources setting.
- */
- static final byte RESULT_BLOCKED_BY_UNKNOWN_SOURCES_SETTING = 4;
-
- /** Installation cancelled by the user. */
- static final byte RESULT_CANCELLED_BY_USER = 5;
-
- /**
- * Installation failed due to {@code PackageManager} failure. PackageManager error code is
- * provided in {@link #mPackageManagerInstallResult}).
- */
- static final byte RESULT_PACKAGE_MANAGER_INSTALL_FAILED = 6;
-
- /**
- * Installation blocked since this feature is not allowed on Android Wear devices yet.
- */
- static final byte RESULT_NOT_ALLOWED_ON_WEAR = 7;
-
- private static final int FLAG_INSTALLS_FROM_UNKNOWN_SOURCES_PERMITTED = 1 << 0;
- private static final int FLAG_INSTALL_REQUEST_FROM_UNKNOWN_SOURCE = 1 << 1;
- private static final int FLAG_VERIFY_APPS_ENABLED = 1 << 2;
- private static final int FLAG_APP_VERIFIER_INSTALLED = 1 << 3;
- private static final int FLAG_FILE_URI = 1 << 4;
- private static final int FLAG_REPLACE = 1 << 5;
- private static final int FLAG_SYSTEM_APP = 1 << 6;
- private static final int FLAG_PACKAGE_INFO_OBTAINED = 1 << 7;
- private static final int FLAG_INSTALL_BUTTON_CLICKED = 1 << 8;
- private static final int FLAG_NEW_PERMISSIONS_FOUND = 1 << 9;
- private static final int FLAG_PERMISSIONS_DISPLAYED = 1 << 10;
- private static final int FLAG_NEW_PERMISSIONS_DISPLAYED = 1 << 11;
- private static final int FLAG_ALL_PERMISSIONS_DISPLAYED = 1 << 12;
-
- /**
- * Information about this flow expressed as a collection of flags. See {@code FLAG_...}
- * constants.
- */
- private int mFlags;
-
- /** Outcome of the flow. See {@code RESULT_...} constants. */
- private byte mResult = RESULT_NOT_YET_AVAILABLE;
-
- /**
- * Result code returned by {@code PackageManager} to install the package or {@code 0} if
- * {@code PackageManager} has not yet been invoked to install the package.
- */
- private int mPackageManagerInstallResult;
-
- /**
- * Time instant when the installation request arrived, measured in elapsed realtime
- * milliseconds. See {@link SystemClock#elapsedRealtime()}.
- */
- private long mStartTimestampMillis;
-
- /**
- * Time instant when the information about the package being installed was obtained, measured in
- * elapsed realtime milliseconds. See {@link SystemClock#elapsedRealtime()}.
- */
- private long mPackageInfoObtainedTimestampMillis;
-
- /**
- * Time instant when the user clicked the Install button, measured in elapsed realtime
- * milliseconds. See {@link SystemClock#elapsedRealtime()}. This field is only valid if the
- * Install button has been clicked, as signaled by {@link #FLAG_INSTALL_BUTTON_CLICKED}.
- */
- private long mInstallButtonClickTimestampMillis;
-
- /**
- * Time instant when this flow terminated, measured in elapsed realtime milliseconds. See
- * {@link SystemClock#elapsedRealtime()}.
- */
- private long mEndTimestampMillis;
-
- /** URI of the package being installed. */
- private String mPackageUri;
-
- /** Whether this attempt has been logged to the Event Log. */
- private boolean mLogged;
-
- private Context mContext;
-
- public static final Parcelable.Creator<InstallFlowAnalytics> CREATOR =
- new Parcelable.Creator<InstallFlowAnalytics>() {
- @Override
- public InstallFlowAnalytics createFromParcel(Parcel in) {
- return new InstallFlowAnalytics(in);
- }
-
- @Override
- public InstallFlowAnalytics[] newArray(int size) {
- return new InstallFlowAnalytics[size];
- }
- };
-
- public InstallFlowAnalytics() {}
-
- public InstallFlowAnalytics(Parcel in) {
- mFlags = in.readInt();
- mResult = in.readByte();
- mPackageManagerInstallResult = in.readInt();
- mStartTimestampMillis = in.readLong();
- mPackageInfoObtainedTimestampMillis = in.readLong();
- mInstallButtonClickTimestampMillis = in.readLong();
- mEndTimestampMillis = in.readLong();
- mPackageUri = in.readString();
- mLogged = readBoolean(in);
- }
-
- @Override
- public void writeToParcel(Parcel dest, int flags) {
- dest.writeInt(mFlags);
- dest.writeByte(mResult);
- dest.writeInt(mPackageManagerInstallResult);
- dest.writeLong(mStartTimestampMillis);
- dest.writeLong(mPackageInfoObtainedTimestampMillis);
- dest.writeLong(mInstallButtonClickTimestampMillis);
- dest.writeLong(mEndTimestampMillis);
- dest.writeString(mPackageUri);
- writeBoolean(dest, mLogged);
- }
-
- private static void writeBoolean(Parcel dest, boolean value) {
- dest.writeByte((byte) (value ? 1 : 0));
- }
-
- private static boolean readBoolean(Parcel dest) {
- return dest.readByte() != 0;
- }
-
- @Override
- public int describeContents() {
- return 0;
- }
-
- void setContext(Context context) {
- mContext = context;
- }
-
- /** Sets whether the Unknown Sources setting is checked. */
- void setInstallsFromUnknownSourcesPermitted(boolean permitted) {
- setFlagState(FLAG_INSTALLS_FROM_UNKNOWN_SOURCES_PERMITTED, permitted);
- }
-
- /** Gets whether the Unknown Sources setting is checked. */
- private boolean isInstallsFromUnknownSourcesPermitted() {
- return isFlagSet(FLAG_INSTALLS_FROM_UNKNOWN_SOURCES_PERMITTED);
- }
-
- /** Sets whether this install attempt is from an unknown source. */
- void setInstallRequestFromUnknownSource(boolean unknownSource) {
- setFlagState(FLAG_INSTALL_REQUEST_FROM_UNKNOWN_SOURCE, unknownSource);
- }
-
- /** Gets whether this install attempt is from an unknown source. */
- private boolean isInstallRequestFromUnknownSource() {
- return isFlagSet(FLAG_INSTALL_REQUEST_FROM_UNKNOWN_SOURCE);
- }
-
- /** Sets whether app verification is enabled. */
- void setVerifyAppsEnabled(boolean enabled) {
- setFlagState(FLAG_VERIFY_APPS_ENABLED, enabled);
- }
-
- /** Gets whether app verification is enabled. */
- private boolean isVerifyAppsEnabled() {
- return isFlagSet(FLAG_VERIFY_APPS_ENABLED);
- }
-
- /** Sets whether at least one app verifier is installed. */
- void setAppVerifierInstalled(boolean installed) {
- setFlagState(FLAG_APP_VERIFIER_INSTALLED, installed);
- }
-
- /** Gets whether at least one app verifier is installed. */
- private boolean isAppVerifierInstalled() {
- return isFlagSet(FLAG_APP_VERIFIER_INSTALLED);
- }
-
- /**
- * Sets whether an APK file is being installed.
- *
- * @param fileUri {@code true} if an APK file is being installed, {@code false} if an already
- * installed package is being installed to this user profile.
- */
- void setFileUri(boolean fileUri) {
- setFlagState(FLAG_FILE_URI, fileUri);
- }
-
- /**
- * Sets the URI of the package being installed.
- */
- void setPackageUri(String packageUri) {
- mPackageUri = packageUri;
- }
-
- /**
- * Gets whether an APK file is being installed.
- *
- * @return {@code true} if an APK file is being installed, {@code false} if an already
- * installed package is being installed to this user profile.
- */
- private boolean isFileUri() {
- return isFlagSet(FLAG_FILE_URI);
- }
-
- /** Sets whether this is an attempt to replace an existing package. */
- void setReplace(boolean replace) {
- setFlagState(FLAG_REPLACE, replace);
- }
-
- /** Gets whether this is an attempt to replace an existing package. */
- private boolean isReplace() {
- return isFlagSet(FLAG_REPLACE);
- }
-
- /** Sets whether the package being updated is a system package. */
- void setSystemApp(boolean systemApp) {
- setFlagState(FLAG_SYSTEM_APP, systemApp);
- }
-
- /** Gets whether the package being updated is a system package. */
- private boolean isSystemApp() {
- return isFlagSet(FLAG_SYSTEM_APP);
- }
-
- /**
- * Sets whether the package being installed is requesting more permissions than the already
- * installed version of the package.
- */
- void setNewPermissionsFound(boolean found) {
- setFlagState(FLAG_NEW_PERMISSIONS_FOUND, found);
- }
-
- /**
- * Gets whether the package being installed is requesting more permissions than the already
- * installed version of the package.
- */
- private boolean isNewPermissionsFound() {
- return isFlagSet(FLAG_NEW_PERMISSIONS_FOUND);
- }
-
- /** Sets whether permissions were displayed to the user. */
- void setPermissionsDisplayed(boolean displayed) {
- setFlagState(FLAG_PERMISSIONS_DISPLAYED, displayed);
- }
-
- /** Gets whether permissions were displayed to the user. */
- private boolean isPermissionsDisplayed() {
- return isFlagSet(FLAG_PERMISSIONS_DISPLAYED);
- }
-
- /**
- * Sets whether new permissions were displayed to the user (if permissions were displayed at
- * all).
- */
- void setNewPermissionsDisplayed(boolean displayed) {
- setFlagState(FLAG_NEW_PERMISSIONS_DISPLAYED, displayed);
- }
-
- /**
- * Gets whether new permissions were displayed to the user (if permissions were displayed at
- * all).
- */
- private boolean isNewPermissionsDisplayed() {
- return isFlagSet(FLAG_NEW_PERMISSIONS_DISPLAYED);
- }
-
- /**
- * Sets whether all permissions were displayed to the user (if permissions were displayed at
- * all).
- */
- void setAllPermissionsDisplayed(boolean displayed) {
- setFlagState(FLAG_ALL_PERMISSIONS_DISPLAYED, displayed);
- }
-
- /**
- * Gets whether all permissions were displayed to the user (if permissions were displayed at
- * all).
- */
- private boolean isAllPermissionsDisplayed() {
- return isFlagSet(FLAG_ALL_PERMISSIONS_DISPLAYED);
- }
-
- /**
- * Sets the time instant when the installation request arrived, measured in elapsed realtime
- * milliseconds. See {@link SystemClock#elapsedRealtime()}.
- */
- void setStartTimestampMillis(long timestampMillis) {
- mStartTimestampMillis = timestampMillis;
- }
-
- /**
- * Records that the information about the package info has been obtained or that there has been
- * a failure to obtain the information.
- */
- void setPackageInfoObtained() {
- setFlagState(FLAG_PACKAGE_INFO_OBTAINED, true);
- mPackageInfoObtainedTimestampMillis = SystemClock.elapsedRealtime();
- }
-
- /**
- * Checks whether the information about the package info has been obtained or that there has
- * been a failure to obtain the information.
- */
- private boolean isPackageInfoObtained() {
- return isFlagSet(FLAG_PACKAGE_INFO_OBTAINED);
- }
-
- /**
- * Records that the Install button has been clicked.
- */
- void setInstallButtonClicked() {
- setFlagState(FLAG_INSTALL_BUTTON_CLICKED, true);
- mInstallButtonClickTimestampMillis = SystemClock.elapsedRealtime();
- }
-
- /**
- * Checks whether the Install button has been clicked.
- */
- private boolean isInstallButtonClicked() {
- return isFlagSet(FLAG_INSTALL_BUTTON_CLICKED);
- }
-
- /**
- * Marks this flow as finished due to {@code PackageManager} succeeding or failing to install
- * the package and reports this to the Event Log.
- */
- void setFlowFinishedWithPackageManagerResult(int packageManagerResult) {
- mPackageManagerInstallResult = packageManagerResult;
- if (packageManagerResult == PackageManager.INSTALL_SUCCEEDED) {
- setFlowFinished(
- InstallFlowAnalytics.RESULT_SUCCESS);
- } else {
- setFlowFinished(
- InstallFlowAnalytics.RESULT_PACKAGE_MANAGER_INSTALL_FAILED);
- }
- }
-
- /**
- * Marks this flow as finished and reports this to the Event Log.
- */
- void setFlowFinished(byte result) {
- if (mLogged) {
- return;
- }
- mResult = result;
- mEndTimestampMillis = SystemClock.elapsedRealtime();
- writeToEventLog();
- }
-
- private void writeToEventLog() {
- byte packageManagerInstallResultByte = 0;
- if (mResult == RESULT_PACKAGE_MANAGER_INSTALL_FAILED) {
- // PackageManager install error codes are negative, starting from -1 and going to
- // -111 (at the moment). We thus store them in negated form.
- packageManagerInstallResultByte = clipUnsignedValueToUnsignedByte(
- -mPackageManagerInstallResult);
- }
-
- final int resultAndFlags = (mResult & 0xff)
- | ((packageManagerInstallResultByte & 0xff) << 8)
- | ((mFlags & 0xffff) << 16);
-
- // Total elapsed time from start to end, in milliseconds.
- final int totalElapsedTime =
- clipUnsignedLongToUnsignedInt(mEndTimestampMillis - mStartTimestampMillis);
-
- // Total elapsed time from start till information about the package being installed was
- // obtained, in milliseconds.
- final int elapsedTimeTillPackageInfoObtained = (isPackageInfoObtained())
- ? clipUnsignedLongToUnsignedInt(
- mPackageInfoObtainedTimestampMillis - mStartTimestampMillis)
- : 0;
-
- // Total elapsed time from start till Install button clicked, in milliseconds
- // milliseconds.
- final int elapsedTimeTillInstallButtonClick = (isInstallButtonClicked())
- ? clipUnsignedLongToUnsignedInt(
- mInstallButtonClickTimestampMillis - mStartTimestampMillis)
- : 0;
-
- // If this user has consented to app verification, augment the logged event with the hash of
- // the contents of the APK.
- if (((mFlags & FLAG_FILE_URI) != 0)
- && ((mFlags & FLAG_VERIFY_APPS_ENABLED) != 0)
- && (isUserConsentToVerifyAppsGranted())) {
- // Log the hash of the APK's contents.
- // Reading the APK may take a while -- perform in background.
- AsyncTask.THREAD_POOL_EXECUTOR.execute(new Runnable() {
- @Override
- public void run() {
- byte[] digest = null;
- try {
- digest = getPackageContentsDigest();
- } catch (IOException e) {
- Log.w(TAG, "Failed to hash APK contents", e);
- } finally {
- String digestHex = (digest != null)
- ? IntegralToString.bytesToHexString(digest, false)
- : "";
- EventLogTags.writeInstallPackageAttempt(
- resultAndFlags,
- totalElapsedTime,
- elapsedTimeTillPackageInfoObtained,
- elapsedTimeTillInstallButtonClick,
- digestHex);
- }
- }
- });
- } else {
- // Do not log the hash of the APK's contents
- EventLogTags.writeInstallPackageAttempt(
- resultAndFlags,
- totalElapsedTime,
- elapsedTimeTillPackageInfoObtained,
- elapsedTimeTillInstallButtonClick,
- "");
- }
- mLogged = true;
-
- if (Log.isLoggable(TAG, Log.VERBOSE)) {
- Log.v(TAG, "Analytics:"
- + "\n\tinstallsFromUnknownSourcesPermitted: "
- + isInstallsFromUnknownSourcesPermitted()
- + "\n\tinstallRequestFromUnknownSource: " + isInstallRequestFromUnknownSource()
- + "\n\tverifyAppsEnabled: " + isVerifyAppsEnabled()
- + "\n\tappVerifierInstalled: " + isAppVerifierInstalled()
- + "\n\tfileUri: " + isFileUri()
- + "\n\treplace: " + isReplace()
- + "\n\tsystemApp: " + isSystemApp()
- + "\n\tpackageInfoObtained: " + isPackageInfoObtained()
- + "\n\tinstallButtonClicked: " + isInstallButtonClicked()
- + "\n\tpermissionsDisplayed: " + isPermissionsDisplayed()
- + "\n\tnewPermissionsDisplayed: " + isNewPermissionsDisplayed()
- + "\n\tallPermissionsDisplayed: " + isAllPermissionsDisplayed()
- + "\n\tnewPermissionsFound: " + isNewPermissionsFound()
- + "\n\tresult: " + mResult
- + "\n\tpackageManagerInstallResult: " + mPackageManagerInstallResult
- + "\n\ttotalDuration: " + (mEndTimestampMillis - mStartTimestampMillis) + " ms"
- + "\n\ttimeTillPackageInfoObtained: "
- + ((isPackageInfoObtained())
- ? ((mPackageInfoObtainedTimestampMillis - mStartTimestampMillis)
- + " ms")
- : "n/a")
- + "\n\ttimeTillInstallButtonClick: "
- + ((isInstallButtonClicked())
- ? ((mInstallButtonClickTimestampMillis - mStartTimestampMillis) + " ms")
- : "n/a"));
- Log.v(TAG, "Wrote to Event Log: 0x" + Long.toString(resultAndFlags & 0xffffffffL, 16)
- + ", " + totalElapsedTime
- + ", " + elapsedTimeTillPackageInfoObtained
- + ", " + elapsedTimeTillInstallButtonClick);
- }
- }
-
- private static final byte clipUnsignedValueToUnsignedByte(long value) {
- if (value < 0) {
- return 0;
- } else if (value > 0xff) {
- return (byte) 0xff;
- } else {
- return (byte) value;
- }
- }
-
- private static final int clipUnsignedLongToUnsignedInt(long value) {
- if (value < 0) {
- return 0;
- } else if (value > 0xffffffffL) {
- return 0xffffffff;
- } else {
- return (int) value;
- }
- }
-
- /**
- * Sets or clears the specified flag in the {@link #mFlags} field.
- */
- private void setFlagState(int flag, boolean set) {
- if (set) {
- mFlags |= flag;
- } else {
- mFlags &= ~flag;
- }
- }
-
- /**
- * Checks whether the specified flag is set in the {@link #mFlags} field.
- */
- private boolean isFlagSet(int flag) {
- return (mFlags & flag) == flag;
- }
-
- /**
- * Checks whether the user has consented to app verification.
- */
- private boolean isUserConsentToVerifyAppsGranted() {
- return Settings.Secure.getInt(
- mContext.getContentResolver(),
- Settings.Secure.PACKAGE_VERIFIER_USER_CONSENT, 0) != 0;
- }
-
- /**
- * Gets the digest of the contents of the package being installed.
- */
- private byte[] getPackageContentsDigest() throws IOException {
- File file = new File(Uri.parse(mPackageUri).getPath());
- return getSha256ContentsDigest(file);
- }
-
- /**
- * Gets the SHA-256 digest of the contents of the specified file.
- */
- private static byte[] getSha256ContentsDigest(File file) throws IOException {
- MessageDigest digest;
- try {
- digest = MessageDigest.getInstance("SHA-256");
- } catch (NoSuchAlgorithmException e) {
- throw new RuntimeException("SHA-256 not available", e);
- }
-
- byte[] buf = new byte[8192];
- InputStream in = null;
- try {
- in = new BufferedInputStream(new FileInputStream(file), buf.length);
- int chunkSize;
- while ((chunkSize = in.read(buf)) != -1) {
- digest.update(buf, 0, chunkSize);
- }
- } finally {
- IoUtils.closeQuietly(in);
- }
- return digest.digest();
- }
-}
diff --git a/src/com/android/packageinstaller/PackageInstallerActivity.java b/src/com/android/packageinstaller/PackageInstallerActivity.java
index 868872a9..1903f917 100644
--- a/src/com/android/packageinstaller/PackageInstallerActivity.java
+++ b/src/com/android/packageinstaller/PackageInstallerActivity.java
@@ -24,21 +24,19 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnCancelListener;
import android.content.Intent;
-import android.content.SharedPreferences;
import android.content.pm.ApplicationInfo;
-import android.content.pm.ManifestDigest;
import android.content.pm.PackageInfo;
import android.content.pm.PackageInstaller;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.PackageParser;
import android.content.pm.PackageUserState;
-import android.content.pm.ResolveInfo;
import android.content.pm.VerificationParams;
+import android.graphics.drawable.Drawable;
import android.net.Uri;
+import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
-import android.os.SystemClock;
import android.os.UserManager;
import android.provider.Settings;
import android.support.v4.view.ViewPager;
@@ -49,11 +47,16 @@ import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AppSecurityPermissions;
import android.widget.Button;
+import android.widget.ImageView;
import android.widget.TabHost;
import android.widget.TextView;
+import com.android.packageinstaller.permission.utils.Utils;
import java.io.File;
-import java.util.List;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
/*
* This activity is launched when a new application is installed via side loading
@@ -68,12 +71,20 @@ import java.util.List;
public class PackageInstallerActivity extends Activity implements OnCancelListener, OnClickListener {
private static final String TAG = "PackageInstaller";
+ private static final int REQUEST_ENABLE_UNKNOWN_SOURCES = 1;
+
+ private static final String SCHEME_FILE = "file";
+ private static final String SCHEME_CONTENT = "content";
+ private static final String SCHEME_PACKAGE = "package";
+
private int mSessionId = -1;
private Uri mPackageURI;
private Uri mOriginatingURI;
private Uri mReferrerURI;
private int mOriginatingUid = VerificationParams.NO_UID;
- private ManifestDigest mPkgDigest;
+ private File mContentUriApkStagingFile;
+
+ private AsyncTask<Uri, Void, File> mStagingAsynTask;
private boolean localLOGV = false;
PackageManager mPm;
@@ -85,8 +96,6 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen
// ApplicationInfo object primarily used for already existing applications
private ApplicationInfo mAppInfo = null;
- private InstallFlowAnalytics mInstallFlowAnalytics;
-
// View for install progress
View mInstallConfirm;
// Buttons to indicate user acceptance
@@ -97,8 +106,6 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen
static final String PREFS_ALLOWED_SOURCES = "allowed_sources";
- private static final String PACKAGE_MIME_TYPE = "application/vnd.android.package-archive";
-
private static final String TAB_ID_ALL = "all";
private static final String TAB_ID_NEW = "new";
@@ -108,25 +115,15 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen
private static final int DLG_PACKAGE_ERROR = DLG_BASE + 2;
private static final int DLG_OUT_OF_SPACE = DLG_BASE + 3;
private static final int DLG_INSTALL_ERROR = DLG_BASE + 4;
- private static final int DLG_ALLOW_SOURCE = DLG_BASE + 5;
private static final int DLG_ADMIN_RESTRICTS_UNKNOWN_SOURCES = DLG_BASE + 6;
private static final int DLG_NOT_SUPPORTED_ON_WEAR = DLG_BASE + 7;
private void startInstallConfirm() {
TabHost tabHost = (TabHost)findViewById(android.R.id.tabhost);
tabHost.setup();
+ tabHost.setVisibility(View.VISIBLE);
ViewPager viewPager = (ViewPager)findViewById(R.id.pager);
TabsAdapter adapter = new TabsAdapter(this, tabHost, viewPager);
- adapter.setOnTabChangedListener(new TabHost.OnTabChangeListener() {
- @Override
- public void onTabChanged(String tabId) {
- if (TAB_ID_ALL.equals(tabId)) {
- mInstallFlowAnalytics.setAllPermissionsDisplayed(true);
- } else if (TAB_ID_NEW.equals(tabId)) {
- mInstallFlowAnalytics.setNewPermissionsDisplayed(true);
- }
- }
- });
// If the app supports runtime permissions the new permissions will
// be requested at runtime, hence we do not show them at install.
boolean supportsRuntimePermissions = mPkgInfo.applicationInfo.targetSdkVersion
@@ -148,7 +145,6 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen
if (!supportsRuntimePermissions) {
newPermissionsFound =
(perms.getPermissionCount(AppSecurityPermissions.WHICH_NEW) > 0);
- mInstallFlowAnalytics.setNewPermissionsFound(newPermissionsFound);
if (newPermissionsFound) {
permVisible = true;
mScrollView.addView(perms.getPermissionsView(
@@ -166,7 +162,7 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen
getText(R.string.newPerms)), mScrollView);
} else {
findViewById(R.id.tabscontainer).setVisibility(View.GONE);
- findViewById(R.id.divider).setVisibility(View.VISIBLE);
+ findViewById(R.id.spacer).setVisibility(View.VISIBLE);
}
if (!supportsRuntimePermissions && N > 0) {
permVisible = true;
@@ -181,7 +177,6 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen
adapter.addTab(tabHost.newTabSpec(TAB_ID_ALL).setIndicator(
getText(R.string.allPerms)), root);
}
- mInstallFlowAnalytics.setPermissionsDisplayed(permVisible);
if (!permVisible) {
if (mAppInfo != null) {
// This is an update to an application, but there are no
@@ -189,25 +184,20 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen
msg = (mAppInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0
? R.string.install_confirm_question_update_system_no_perms
: R.string.install_confirm_question_update_no_perms;
+
+ findViewById(R.id.spacer).setVisibility(View.VISIBLE);
} else {
// This is a new application with no permissions.
msg = R.string.install_confirm_question_no_perms;
}
- tabHost.setVisibility(View.GONE);
- mInstallFlowAnalytics.setAllPermissionsDisplayed(false);
- mInstallFlowAnalytics.setNewPermissionsDisplayed(false);
- findViewById(R.id.filler).setVisibility(View.VISIBLE);
- findViewById(R.id.divider).setVisibility(View.GONE);
+ tabHost.setVisibility(View.INVISIBLE);
mScrollView = null;
}
if (msg != 0) {
((TextView)findViewById(R.id.install_confirm_question)).setText(msg);
}
mInstallConfirm.setVisibility(View.VISIBLE);
- mOk = (Button)findViewById(R.id.ok_button);
- mCancel = (Button)findViewById(R.id.cancel_button);
- mOk.setOnClickListener(this);
- mCancel.setOnClickListener(this);
+ mOk.setEnabled(true);
if (mScrollView == null) {
// There is nothing to scroll view, so the ok button is immediately
// set to install.
@@ -235,24 +225,22 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen
switch (id) {
case DLG_UNKNOWN_SOURCES:
return new AlertDialog.Builder(this)
- .setTitle(R.string.unknown_apps_dlg_title)
.setMessage(R.string.unknown_apps_dlg_text)
.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Log.i(TAG, "Finishing off activity so that user can navigate to settings manually");
- finish();
+ finishAffinity();
}})
.setPositiveButton(R.string.settings, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Log.i(TAG, "Launching settings");
- launchSettingsAppAndFinish();
+ launchSecuritySettings();
}
})
.setOnCancelListener(this)
.create();
case DLG_ADMIN_RESTRICTS_UNKNOWN_SOURCES:
return new AlertDialog.Builder(this)
- .setTitle(R.string.unknown_apps_dlg_title)
.setMessage(R.string.unknown_apps_admin_dlg_text)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
@@ -263,7 +251,6 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen
.create();
case DLG_PACKAGE_ERROR :
return new AlertDialog.Builder(this)
- .setTitle(R.string.Parse_error_dlg_title)
.setMessage(R.string.Parse_error_dlg_text)
.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
@@ -278,7 +265,6 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen
String dlgText = getString(R.string.out_of_space_dlg_text,
appTitle.toString());
return new AlertDialog.Builder(this)
- .setTitle(R.string.out_of_space_dlg_title)
.setMessage(dlgText)
.setPositiveButton(R.string.manage_applications, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
@@ -303,7 +289,6 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen
String dlgText1 = getString(R.string.install_failed_msg,
appTitle1.toString());
return new AlertDialog.Builder(this)
- .setTitle(R.string.install_failed)
.setNeutralButton(R.string.ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
finish();
@@ -312,50 +297,36 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen
.setMessage(dlgText1)
.setOnCancelListener(this)
.create();
- case DLG_ALLOW_SOURCE:
- CharSequence appTitle2 = mPm.getApplicationLabel(mSourceInfo);
- String dlgText2 = getString(R.string.allow_source_dlg_text,
- appTitle2.toString());
- return new AlertDialog.Builder(this)
- .setTitle(R.string.allow_source_dlg_title)
- .setMessage(dlgText2)
- .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int which) {
- setResult(RESULT_CANCELED);
- finish();
- }})
- .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int which) {
- SharedPreferences prefs = getSharedPreferences(PREFS_ALLOWED_SOURCES,
- Context.MODE_PRIVATE);
- prefs.edit().putBoolean(mSourceInfo.packageName, true).apply();
- startInstallConfirm();
- }
- })
- .setOnCancelListener(this)
- .create();
case DLG_NOT_SUPPORTED_ON_WEAR:
return new AlertDialog.Builder(this)
- .setTitle(R.string.wear_not_allowed_dlg_title)
.setMessage(R.string.wear_not_allowed_dlg_text)
.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
setResult(RESULT_OK);
- finish();
+ clearCachedApkIfNeededAndFinish();
}
})
.setOnCancelListener(this)
.create();
}
return null;
- }
+ }
- private void launchSettingsAppAndFinish() {
- // Create an intent to launch SettingsTwo activity
+ private void launchSecuritySettings() {
Intent launchSettingsIntent = new Intent(Settings.ACTION_SECURITY_SETTINGS);
- launchSettingsIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- startActivity(launchSettingsIntent);
- finish();
+ startActivityForResult(launchSettingsIntent, REQUEST_ENABLE_UNKNOWN_SOURCES);
+ }
+
+ @Override
+ public void onActivityResult(int request, int result, Intent data) {
+ // If the settings app approved the install we are good to go regardless
+ // whether the untrusted sources setting is on. This allows partners to
+ // implement a "allow untrusted source once" feature.
+ if (request == REQUEST_ENABLE_UNKNOWN_SOURCES && result == RESULT_OK) {
+ initiateInstall();
+ } else {
+ clearCachedApkIfNeededAndFinish();
+ }
}
private boolean isInstallRequestFromUnknownSource(Intent intent) {
@@ -378,23 +349,6 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen
return true;
}
- private boolean isVerifyAppsEnabled() {
- if (mUserManager.hasUserRestriction(UserManager.ENSURE_VERIFY_APPS)) {
- return true;
- }
- return Settings.Global.getInt(getContentResolver(),
- Settings.Global.PACKAGE_VERIFIER_ENABLE, 1) > 0;
- }
-
- private boolean isAppVerifierInstalled() {
- final PackageManager pm = getPackageManager();
- final Intent verification = new Intent(Intent.ACTION_PACKAGE_NEEDS_VERIFICATION);
- verification.setType(PACKAGE_MIME_TYPE);
- verification.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
- final List<ResolveInfo> receivers = pm.queryBroadcastReceivers(verification, 0);
- return (receivers.size() > 0) ? true : false;
- }
-
/**
* @return whether unknown sources is enabled by user in Settings
*/
@@ -434,10 +388,6 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen
mAppInfo = null;
}
- mInstallFlowAnalytics.setReplace(mAppInfo != null);
- mInstallFlowAnalytics.setSystemApp(
- (mAppInfo != null) && ((mAppInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0));
-
startInstallConfirm();
}
@@ -457,6 +407,10 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen
mUserManager = (UserManager) getSystemService(Context.USER_SERVICE);
final Intent intent = getIntent();
+ mOriginatingUid = getOriginatingUid(intent);
+
+ final Uri packageUri;
+
if (PackageInstaller.ACTION_CONFIRM_PERMISSIONS.equals(intent.getAction())) {
final int sessionId = intent.getIntExtra(PackageInstaller.EXTRA_SESSION_ID, -1);
final PackageInstaller.SessionInfo info = mInstaller.getSessionInfo(sessionId);
@@ -467,120 +421,130 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen
}
mSessionId = sessionId;
- mPackageURI = Uri.fromFile(new File(info.resolvedBaseCodePath));
+ packageUri = Uri.fromFile(new File(info.resolvedBaseCodePath));
mOriginatingURI = null;
mReferrerURI = null;
} else {
mSessionId = -1;
- mPackageURI = intent.getData();
+ packageUri = intent.getData();
mOriginatingURI = intent.getParcelableExtra(Intent.EXTRA_ORIGINATING_URI);
mReferrerURI = intent.getParcelableExtra(Intent.EXTRA_REFERRER);
}
- final boolean unknownSourcesAllowedByAdmin = isUnknownSourcesAllowedByAdmin();
- final boolean unknownSourcesAllowedByUser = isUnknownSourcesEnabled();
-
- boolean requestFromUnknownSource = isInstallRequestFromUnknownSource(intent);
- mInstallFlowAnalytics = new InstallFlowAnalytics();
- mInstallFlowAnalytics.setContext(this);
- mInstallFlowAnalytics.setStartTimestampMillis(SystemClock.elapsedRealtime());
- mInstallFlowAnalytics.setInstallsFromUnknownSourcesPermitted(unknownSourcesAllowedByAdmin
- && unknownSourcesAllowedByUser);
- mInstallFlowAnalytics.setInstallRequestFromUnknownSource(requestFromUnknownSource);
- mInstallFlowAnalytics.setVerifyAppsEnabled(isVerifyAppsEnabled());
- mInstallFlowAnalytics.setAppVerifierInstalled(isAppVerifierInstalled());
- mInstallFlowAnalytics.setPackageUri(mPackageURI.toString());
-
- if (DeviceUtils.isWear(this)) {
- showDialogInner(DLG_NOT_SUPPORTED_ON_WEAR);
- mInstallFlowAnalytics.setFlowFinished(
- InstallFlowAnalytics.RESULT_NOT_ALLOWED_ON_WEAR);
- return;
- }
-
- final String scheme = mPackageURI.getScheme();
- if (scheme != null && !"file".equals(scheme) && !"package".equals(scheme)) {
- Log.w(TAG, "Unsupported scheme " + scheme);
+ // if there's nothing to do, quietly slip into the ether
+ if (packageUri == null) {
+ Log.w(TAG, "Unspecified source");
setPmResult(PackageManager.INSTALL_FAILED_INVALID_URI);
- mInstallFlowAnalytics.setFlowFinished(
- InstallFlowAnalytics.RESULT_FAILED_UNSUPPORTED_SCHEME);
finish();
return;
}
- final PackageUtil.AppSnippet as;
- if ("package".equals(mPackageURI.getScheme())) {
- mInstallFlowAnalytics.setFileUri(false);
- try {
- mPkgInfo = mPm.getPackageInfo(mPackageURI.getSchemeSpecificPart(),
- PackageManager.GET_PERMISSIONS | PackageManager.GET_UNINSTALLED_PACKAGES);
- } catch (NameNotFoundException e) {
- }
- if (mPkgInfo == null) {
- Log.w(TAG, "Requested package " + mPackageURI.getScheme()
- + " not available. Discontinuing installation");
- showDialogInner(DLG_PACKAGE_ERROR);
- setPmResult(PackageManager.INSTALL_FAILED_INVALID_APK);
- mInstallFlowAnalytics.setPackageInfoObtained();
- mInstallFlowAnalytics.setFlowFinished(
- InstallFlowAnalytics.RESULT_FAILED_PACKAGE_MISSING);
- return;
- }
- as = new PackageUtil.AppSnippet(mPm.getApplicationLabel(mPkgInfo.applicationInfo),
- mPm.getApplicationIcon(mPkgInfo.applicationInfo));
- } else {
- mInstallFlowAnalytics.setFileUri(true);
- final File sourceFile = new File(mPackageURI.getPath());
- PackageParser.Package parsed = PackageUtil.getPackageInfo(sourceFile);
-
- // Check for parse errors
- if (parsed == null) {
- Log.w(TAG, "Parse error when parsing manifest. Discontinuing installation");
- showDialogInner(DLG_PACKAGE_ERROR);
- setPmResult(PackageManager.INSTALL_FAILED_INVALID_APK);
- mInstallFlowAnalytics.setPackageInfoObtained();
- mInstallFlowAnalytics.setFlowFinished(
- InstallFlowAnalytics.RESULT_FAILED_TO_GET_PACKAGE_INFO);
- return;
- }
- mPkgInfo = PackageParser.generatePackageInfo(parsed, null,
- PackageManager.GET_PERMISSIONS, 0, 0, null,
- new PackageUserState());
- mPkgDigest = parsed.manifestDigest;
- as = PackageUtil.getAppSnippet(this, mPkgInfo.applicationInfo, sourceFile);
+ if (DeviceUtils.isWear(this)) {
+ showDialogInner(DLG_NOT_SUPPORTED_ON_WEAR);
+ return;
}
- mInstallFlowAnalytics.setPackageInfoObtained();
//set view
setContentView(R.layout.install_start);
mInstallConfirm = findViewById(R.id.install_confirm_panel);
mInstallConfirm.setVisibility(View.INVISIBLE);
- PackageUtil.initSnippetForNewApp(this, as, R.id.app_snippet);
-
- mOriginatingUid = getOriginatingUid(intent);
+ mOk = (Button)findViewById(R.id.ok_button);
+ mCancel = (Button)findViewById(R.id.cancel_button);
+ mOk.setOnClickListener(this);
+ mCancel.setOnClickListener(this);
// Block the install attempt on the Unknown Sources setting if necessary.
+ final boolean requestFromUnknownSource = isInstallRequestFromUnknownSource(intent);
if (!requestFromUnknownSource) {
- initiateInstall();
+ processPackageUri(packageUri);
return;
}
// If the admin prohibits it, or we're running in a managed profile, just show error
// and exit. Otherwise show an option to take the user to Settings to change the setting.
final boolean isManagedProfile = mUserManager.isManagedProfile();
- if (!unknownSourcesAllowedByAdmin
- || (!unknownSourcesAllowedByUser && isManagedProfile)) {
+ if (!isUnknownSourcesAllowedByAdmin()) {
+ startActivity(new Intent(Settings.ACTION_SHOW_ADMIN_SUPPORT_DETAILS));
+ clearCachedApkIfNeededAndFinish();
+ } else if (!isUnknownSourcesEnabled() && isManagedProfile) {
showDialogInner(DLG_ADMIN_RESTRICTS_UNKNOWN_SOURCES);
- mInstallFlowAnalytics.setFlowFinished(
- InstallFlowAnalytics.RESULT_BLOCKED_BY_UNKNOWN_SOURCES_SETTING);
- } else if (!unknownSourcesAllowedByUser) {
+ } else if (!isUnknownSourcesEnabled()) {
// Ask user to enable setting first
+
showDialogInner(DLG_UNKNOWN_SOURCES);
- mInstallFlowAnalytics.setFlowFinished(
- InstallFlowAnalytics.RESULT_BLOCKED_BY_UNKNOWN_SOURCES_SETTING);
} else {
- initiateInstall();
+ processPackageUri(packageUri);
+ }
+ }
+
+ @Override
+ protected void onDestroy() {
+ if (mStagingAsynTask != null) {
+ mStagingAsynTask.cancel(true);
+ mStagingAsynTask = null;
}
+ super.onDestroy();
+ }
+
+ private void processPackageUri(final Uri packageUri) {
+ mPackageURI = packageUri;
+
+ final String scheme = packageUri.getScheme();
+ final PackageUtil.AppSnippet as;
+
+ switch (scheme) {
+ case SCHEME_PACKAGE: {
+ try {
+ mPkgInfo = mPm.getPackageInfo(packageUri.getSchemeSpecificPart(),
+ PackageManager.GET_PERMISSIONS
+ | PackageManager.GET_UNINSTALLED_PACKAGES);
+ } catch (NameNotFoundException e) {
+ }
+ if (mPkgInfo == null) {
+ Log.w(TAG, "Requested package " + packageUri.getScheme()
+ + " not available. Discontinuing installation");
+ showDialogInner(DLG_PACKAGE_ERROR);
+ setPmResult(PackageManager.INSTALL_FAILED_INVALID_APK);
+ return;
+ }
+ as = new PackageUtil.AppSnippet(mPm.getApplicationLabel(mPkgInfo.applicationInfo),
+ mPm.getApplicationIcon(mPkgInfo.applicationInfo));
+ } break;
+
+ case SCHEME_FILE: {
+ File sourceFile = new File(packageUri.getPath());
+ PackageParser.Package parsed = PackageUtil.getPackageInfo(sourceFile);
+
+ // Check for parse errors
+ if (parsed == null) {
+ Log.w(TAG, "Parse error when parsing manifest. Discontinuing installation");
+ showDialogInner(DLG_PACKAGE_ERROR);
+ setPmResult(PackageManager.INSTALL_FAILED_INVALID_APK);
+ return;
+ }
+ mPkgInfo = PackageParser.generatePackageInfo(parsed, null,
+ PackageManager.GET_PERMISSIONS, 0, 0, null,
+ new PackageUserState());
+ as = PackageUtil.getAppSnippet(this, mPkgInfo.applicationInfo, sourceFile);
+ } break;
+
+ case SCHEME_CONTENT: {
+ mStagingAsynTask = new StagingAsyncTask();
+ mStagingAsynTask.execute(packageUri);
+ return;
+ }
+
+ default: {
+ Log.w(TAG, "Unsupported scheme " + scheme);
+ setPmResult(PackageManager.INSTALL_FAILED_INVALID_URI);
+ clearCachedApkIfNeededAndFinish();
+ return;
+ }
+ }
+
+ PackageUtil.initSnippetForNewApp(this, as, R.id.app_snippet);
+
+ initiateInstall();
}
/** Get the ApplicationInfo for the calling package, if available */
@@ -660,43 +624,33 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen
if (mSessionId != -1) {
mInstaller.setPermissionsResult(mSessionId, false);
}
- mInstallFlowAnalytics.setFlowFinished(
- InstallFlowAnalytics.RESULT_CANCELLED_BY_USER);
super.onBackPressed();
}
// Generic handling when pressing back key
public void onCancel(DialogInterface dialog) {
- finish();
+ clearCachedApkIfNeededAndFinish();
}
public void onClick(View v) {
if (v == mOk) {
if (mOkCanInstall || mScrollView == null) {
- mInstallFlowAnalytics.setInstallButtonClicked();
if (mSessionId != -1) {
mInstaller.setPermissionsResult(mSessionId, true);
-
- // We're only confirming permissions, so we don't really know how the
- // story ends; assume success.
- mInstallFlowAnalytics.setFlowFinishedWithPackageManagerResult(
- PackageManager.INSTALL_SUCCEEDED);
- finish();
+ clearCachedApkIfNeededAndFinish();
} else {
startInstall();
}
} else {
mScrollView.pageScroll(View.FOCUS_DOWN);
}
- } else if(v == mCancel) {
+ } else if (v == mCancel) {
// Cancel and finish
setResult(RESULT_CANCELED);
if (mSessionId != -1) {
mInstaller.setPermissionsResult(mSessionId, false);
}
- mInstallFlowAnalytics.setFlowFinished(
- InstallFlowAnalytics.RESULT_CANCELLED_BY_USER);
- finish();
+ clearCachedApkIfNeededAndFinish();
}
}
@@ -707,9 +661,6 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen
mPkgInfo.applicationInfo);
newIntent.setData(mPackageURI);
newIntent.setClass(this, InstallAppProgress.class);
- newIntent.putExtra(InstallAppProgress.EXTRA_MANIFEST_DIGEST, mPkgDigest);
- newIntent.putExtra(
- InstallAppProgress.EXTRA_INSTALL_FLOW_ANALYTICS, mInstallFlowAnalytics);
String installerPackageName = getIntent().getStringExtra(
Intent.EXTRA_INSTALLER_PACKAGE_NAME);
if (mOriginatingURI != null) {
@@ -733,4 +684,98 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen
startActivity(newIntent);
finish();
}
+
+ private void clearCachedApkIfNeededAndFinish() {
+ if (mContentUriApkStagingFile != null) {
+ mContentUriApkStagingFile.delete();
+ mContentUriApkStagingFile = null;
+ }
+ finish();
+ }
+
+ private final class StagingAsyncTask extends AsyncTask<Uri, Void, File> {
+ private static final long SHOW_EMPTY_STATE_DELAY_MILLIS = 300;
+
+ private final Runnable mEmptyStateRunnable = new Runnable() {
+ @Override
+ public void run() {
+ ((TextView) findViewById(R.id.app_name)).setText(R.string.app_name_unknown);
+ ((TextView) findViewById(R.id.install_confirm_question))
+ .setText(R.string.message_staging);
+ mInstallConfirm.setVisibility(View.VISIBLE);
+ findViewById(android.R.id.tabhost).setVisibility(View.INVISIBLE);
+ findViewById(R.id.spacer).setVisibility(View.VISIBLE);
+ findViewById(R.id.ok_button).setEnabled(false);
+ Drawable icon = getDrawable(R.drawable.ic_file_download);
+ Utils.applyTint(PackageInstallerActivity.this,
+ icon, android.R.attr.colorControlNormal);
+ ((ImageView) findViewById(R.id.app_icon)).setImageDrawable(icon);
+ }
+ };
+
+ @Override
+ protected void onPreExecute() {
+ getWindow().getDecorView().postDelayed(mEmptyStateRunnable,
+ SHOW_EMPTY_STATE_DELAY_MILLIS);
+ }
+
+ @Override
+ protected File doInBackground(Uri... params) {
+ if (params == null || params.length <= 0) {
+ return null;
+ }
+ Uri packageUri = params[0];
+ File sourceFile = null;
+ try {
+ sourceFile = File.createTempFile("package", ".apk", getCacheDir());
+ try (
+ InputStream in = getContentResolver().openInputStream(packageUri);
+ OutputStream out = (in != null) ? new FileOutputStream(
+ sourceFile) : null;
+ ) {
+ // Despite the comments in ContentResolver#openInputStream
+ // the returned stream can be null.
+ if (in == null) {
+ return null;
+ }
+ byte[] buffer = new byte[4096];
+ int bytesRead;
+ while ((bytesRead = in.read(buffer)) >= 0) {
+ // Be nice and respond to a cancellation
+ if (isCancelled()) {
+ return null;
+ }
+ out.write(buffer, 0, bytesRead);
+ }
+ }
+ } catch (IOException ioe) {
+ Log.w(TAG, "Error staging apk from content URI", ioe);
+ if (sourceFile != null) {
+ sourceFile.delete();
+ }
+ }
+ return sourceFile;
+ }
+
+ @Override
+ protected void onPostExecute(File file) {
+ getWindow().getDecorView().removeCallbacks(mEmptyStateRunnable);
+ if (isFinishing() || isDestroyed()) {
+ return;
+ }
+ if (file == null) {
+ showDialogInner(DLG_PACKAGE_ERROR);
+ setPmResult(PackageManager.INSTALL_FAILED_INVALID_APK);
+ return;
+ }
+ mContentUriApkStagingFile = file;
+ Uri fileUri = Uri.fromFile(file);
+ processPackageUri(fileUri);
+ }
+
+ @Override
+ protected void onCancelled(File file) {
+ getWindow().getDecorView().removeCallbacks(mEmptyStateRunnable);
+ }
+ };
}
diff --git a/src/com/android/packageinstaller/PackageUtil.java b/src/com/android/packageinstaller/PackageUtil.java
index 37e96f0a..330cbbce 100644
--- a/src/com/android/packageinstaller/PackageUtil.java
+++ b/src/com/android/packageinstaller/PackageUtil.java
@@ -47,27 +47,12 @@ public class PackageUtil {
public static final String INTENT_ATTR_PACKAGE_NAME=PREFIX+"PackageName";
/**
- * Utility method to get application information for a given {@link File}
- */
- public static ApplicationInfo getApplicationInfo(File sourcePath) {
- final PackageParser parser = new PackageParser();
- try {
- PackageParser.Package pkg = parser.parseMonolithicPackage(sourcePath, 0);
- return pkg.applicationInfo;
- } catch (PackageParserException e) {
- return null;
- }
- }
-
- /**
* Utility method to get package information for a given {@link File}
*/
public static PackageParser.Package getPackageInfo(File sourceFile) {
final PackageParser parser = new PackageParser();
try {
- PackageParser.Package pkg = parser.parseMonolithicPackage(sourceFile, 0);
- parser.collectManifestDigest(pkg);
- return pkg;
+ return parser.parsePackage(sourceFile, 0);
} catch (PackageParserException e) {
return null;
}
diff --git a/src/com/android/packageinstaller/TabsAdapter.java b/src/com/android/packageinstaller/TabsAdapter.java
index 699cbed3..3509e092 100644
--- a/src/com/android/packageinstaller/TabsAdapter.java
+++ b/src/com/android/packageinstaller/TabsAdapter.java
@@ -46,7 +46,6 @@ public class TabsAdapter extends PagerAdapter
private final ViewPager mViewPager;
private final ArrayList<TabInfo> mTabs = new ArrayList<TabInfo>();
private final Rect mTempRect = new Rect();
- private TabHost.OnTabChangeListener mOnTabChangeListener;
static final class TabInfo {
private final String tag;
@@ -115,17 +114,10 @@ public class TabsAdapter extends PagerAdapter
return view == object;
}
- public void setOnTabChangedListener(TabHost.OnTabChangeListener listener) {
- mOnTabChangeListener = listener;
- }
-
@Override
public void onTabChanged(String tabId) {
int position = mTabHost.getCurrentTab();
mViewPager.setCurrentItem(position);
- if (mOnTabChangeListener != null) {
- mOnTabChangeListener.onTabChanged(tabId);
- }
}
@Override
diff --git a/src/com/android/packageinstaller/UninstallAppProgress.java b/src/com/android/packageinstaller/UninstallAppProgress.java
index d6b788d4..63a243b2 100755
--- a/src/com/android/packageinstaller/UninstallAppProgress.java
+++ b/src/com/android/packageinstaller/UninstallAppProgress.java
@@ -27,6 +27,9 @@ import android.content.pm.IPackageManager;
import android.content.pm.PackageInstaller;
import android.content.pm.PackageManager;
import android.content.pm.UserInfo;
+import android.content.res.Configuration;
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.os.Handler;
import android.os.IBinder;
@@ -35,7 +38,9 @@ import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.UserHandle;
import android.os.UserManager;
+import android.provider.Settings;
import android.util.Log;
+import android.util.TypedValue;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
@@ -61,14 +66,22 @@ public class UninstallAppProgress extends Activity implements OnClickListener {
private UserHandle mUser;
private IBinder mCallback;
- private TextView mStatusTextView;
private Button mOkButton;
private Button mDeviceManagerButton;
- private ProgressBar mProgressBar;
- private View mOkPanel;
+ private Button mUsersButton;
private volatile int mResultCode = -1;
+ /**
+ * If initView was called. We delay this call to not have to call it at all if the uninstall is
+ * quick
+ */
+ private boolean mIsViewInitialized;
+
+ /** Amount of time to wait until we show the UI */
+ private static final int QUICK_INSTALL_DELAY_MILLIS = 500;
+
private static final int UNINSTALL_COMPLETE = 1;
+ private static final int UNINSTALL_IS_SLOW = 2;
private boolean isProfileOfOrSame(UserManager userManager, int userId, int profileId) {
if (userId == profileId) {
@@ -80,8 +93,21 @@ public class UninstallAppProgress extends Activity implements OnClickListener {
private Handler mHandler = new Handler() {
public void handleMessage(Message msg) {
+ if (isFinishing() || isDestroyed()) {
+ return;
+ }
+
switch (msg.what) {
+ case UNINSTALL_IS_SLOW:
+ initView();
+ break;
case UNINSTALL_COMPLETE:
+ mHandler.removeMessages(UNINSTALL_IS_SLOW);
+
+ if (msg.arg1 != PackageManager.DELETE_SUCCEEDED) {
+ initView();
+ }
+
mResultCode = msg.arg1;
final String packageName = (String) msg.obj;
@@ -180,15 +206,19 @@ public class UninstallAppProgress extends Activity implements OnClickListener {
mDeviceManagerButton.setVisibility(View.VISIBLE);
} else {
mDeviceManagerButton.setVisibility(View.GONE);
+ mUsersButton.setVisibility(View.VISIBLE);
}
- if (blockingUserId == UserHandle.USER_OWNER) {
+ // TODO: b/25442806
+ if (blockingUserId == UserHandle.USER_SYSTEM) {
statusText = getString(R.string.uninstall_blocked_device_owner);
} else if (blockingUserId == UserHandle.USER_NULL) {
Log.d(TAG, "Uninstall failed for " + packageName + " with code "
+ msg.arg1 + " no blocking user");
statusText = getString(R.string.uninstall_failed);
} else {
- statusText = getString(R.string.uninstall_blocked_profile_owner);
+ statusText = mAllUsers
+ ? getString(R.string.uninstall_all_blocked_profile_owner) :
+ getString(R.string.uninstall_blocked_profile_owner);
}
break;
}
@@ -198,11 +228,10 @@ public class UninstallAppProgress extends Activity implements OnClickListener {
statusText = getString(R.string.uninstall_failed);
break;
}
- mStatusTextView.setText(statusText);
-
- // Hide the progress bar; Show the ok button
- mProgressBar.setVisibility(View.INVISIBLE);
- mOkPanel.setVisibility(View.VISIBLE);
+ findViewById(R.id.progress_view).setVisibility(View.GONE);
+ findViewById(R.id.status_view).setVisibility(View.VISIBLE);
+ ((TextView)findViewById(R.id.status_text)).setText(statusText);
+ findViewById(R.id.ok_panel).setVisibility(View.VISIBLE);
break;
default:
break;
@@ -213,11 +242,34 @@ public class UninstallAppProgress extends Activity implements OnClickListener {
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
+
Intent intent = getIntent();
mAppInfo = intent.getParcelableExtra(PackageUtil.INTENT_ATTR_APPLICATION_INFO);
+ mCallback = intent.getIBinderExtra(PackageInstaller.EXTRA_CALLBACK);
+
+ // This currently does not support going through a onDestroy->onCreate cycle. Hence if that
+ // happened, just fail the operation for mysterious reasons.
+ if (icicle != null) {
+ mResultCode = PackageManager.DELETE_FAILED_INTERNAL_ERROR;
+
+ if (mCallback != null) {
+ final IPackageDeleteObserver2 observer = IPackageDeleteObserver2.Stub
+ .asInterface(mCallback);
+ try {
+ observer.onPackageDeleted(mAppInfo.packageName, mResultCode, null);
+ } catch (RemoteException ignored) {
+ }
+ finish();
+ } else {
+ setResultAndFinish(mResultCode);
+ }
+
+ return;
+ }
+
mAllUsers = intent.getBooleanExtra(Intent.EXTRA_UNINSTALL_ALL_USERS, false);
- if (mAllUsers && UserHandle.myUserId() != UserHandle.USER_OWNER) {
- throw new SecurityException("Only owner user can request uninstall for all users");
+ if (mAllUsers && !UserManager.get(this).isAdminUser()) {
+ throw new SecurityException("Only admin user can request uninstall for all users");
}
mUser = intent.getParcelableExtra(Intent.EXTRA_USER);
if (mUser == null) {
@@ -230,8 +282,21 @@ public class UninstallAppProgress extends Activity implements OnClickListener {
+ "request uninstall for user " + mUser);
}
}
- mCallback = intent.getIBinderExtra(PackageInstaller.EXTRA_CALLBACK);
- initView();
+
+ PackageDeleteObserver observer = new PackageDeleteObserver();
+
+ // Make window transparent until initView is called. In many cases we can avoid showing the
+ // UI at all as the app is uninstalled very quickly. If we show the UI and instantly remove
+ // it, it just looks like a flicker.
+ getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
+ getWindow().setStatusBarColor(Color.TRANSPARENT);
+ getWindow().setNavigationBarColor(Color.TRANSPARENT);
+
+ getPackageManager().deletePackageAsUser(mAppInfo.packageName, observer,
+ mAllUsers ? PackageManager.DELETE_ALL_USERS : 0, mUser.getIdentifier());
+
+ mHandler.sendMessageDelayed(mHandler.obtainMessage(UNINSTALL_IS_SLOW),
+ QUICK_INSTALL_DELAY_MILLIS);
}
class PackageDeleteObserver extends IPackageDeleteObserver.Stub {
@@ -249,6 +314,28 @@ public class UninstallAppProgress extends Activity implements OnClickListener {
}
public void initView() {
+ if (mIsViewInitialized) {
+ return;
+ }
+ mIsViewInitialized = true;
+
+ // We set the window background to translucent in constructor, revert this
+ TypedValue attribute = new TypedValue();
+ getTheme().resolveAttribute(android.R.attr.windowBackground, attribute, true);
+ if (attribute.type >= TypedValue.TYPE_FIRST_COLOR_INT &&
+ attribute.type <= TypedValue.TYPE_LAST_COLOR_INT) {
+ getWindow().setBackgroundDrawable(new ColorDrawable(attribute.data));
+ } else {
+ getWindow().setBackgroundDrawable(getResources().getDrawable(attribute.resourceId,
+ getTheme()));
+ }
+
+ getTheme().resolveAttribute(android.R.attr.navigationBarColor, attribute, true);
+ getWindow().setNavigationBarColor(attribute.data);
+
+ getTheme().resolveAttribute(android.R.attr.statusBarColor, attribute, true);
+ getWindow().setStatusBarColor(attribute.data);
+
boolean isUpdate = ((mAppInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0);
setTitle(isUpdate ? R.string.uninstall_update_title : R.string.uninstall_application_title);
@@ -256,9 +343,8 @@ public class UninstallAppProgress extends Activity implements OnClickListener {
// Initialize views
View snippetView = findViewById(R.id.app_snippet);
PackageUtil.initSnippetForInstalledApp(this, mAppInfo, snippetView);
- mStatusTextView = (TextView) findViewById(R.id.center_text);
- mStatusTextView.setText(R.string.uninstalling);
mDeviceManagerButton = (Button) findViewById(R.id.device_manager_button);
+ mUsersButton = (Button) findViewById(R.id.users_button);
mDeviceManagerButton.setVisibility(View.GONE);
mDeviceManagerButton.setOnClickListener(new OnClickListener() {
@Override
@@ -271,24 +357,19 @@ public class UninstallAppProgress extends Activity implements OnClickListener {
finish();
}
});
- mProgressBar = (ProgressBar) findViewById(R.id.progress_bar);
- mProgressBar.setIndeterminate(true);
+ mUsersButton.setVisibility(View.GONE);
+ mUsersButton.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(Settings.ACTION_USER_SETTINGS);
+ intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_NEW_TASK);
+ startActivity(intent);
+ finish();
+ }
+ });
// Hide button till progress is being displayed
- mOkPanel = (View) findViewById(R.id.ok_panel);
mOkButton = (Button) findViewById(R.id.ok_button);
mOkButton.setOnClickListener(this);
- mOkPanel.setVisibility(View.INVISIBLE);
- IPackageManager packageManager =
- IPackageManager.Stub.asInterface(ServiceManager.getService("package"));
- PackageDeleteObserver observer = new PackageDeleteObserver();
- try {
- packageManager.deletePackageAsUser(mAppInfo.packageName, observer,
- mUser.getIdentifier(),
- mAllUsers ? PackageManager.DELETE_ALL_USERS : 0);
- } catch (RemoteException e) {
- // Shouldn't happen.
- Log.e(TAG, "Failed to talk to package manager", e);
- }
}
public void onClick(View v) {
diff --git a/src/com/android/packageinstaller/UninstallerActivity.java b/src/com/android/packageinstaller/UninstallerActivity.java
index e277d48f..ae1659f4 100755
--- a/src/com/android/packageinstaller/UninstallerActivity.java
+++ b/src/com/android/packageinstaller/UninstallerActivity.java
@@ -74,11 +74,15 @@ public class UninstallerActivity extends Activity {
final boolean isUpdate =
((dialogInfo.appInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0);
+ UserManager userManager = UserManager.get(getActivity());
if (isUpdate) {
- messageBuilder.append(getString(R.string.uninstall_update_text));
+ if (isSingleUser(userManager)) {
+ messageBuilder.append(getString(R.string.uninstall_update_text));
+ } else {
+ messageBuilder.append(getString(R.string.uninstall_update_text_multiuser));
+ }
} else {
- UserManager userManager = UserManager.get(getActivity());
- if (dialogInfo.allUsers && userManager.getUserCount() >= 2) {
+ if (dialogInfo.allUsers && !isSingleUser(userManager)) {
messageBuilder.append(getString(R.string.uninstall_application_text_all_users));
} else if (!dialogInfo.user.equals(android.os.Process.myUserHandle())) {
UserInfo userInfo = userManager.getUserInfo(dialogInfo.user.getIdentifier());
@@ -109,7 +113,19 @@ public class UninstallerActivity extends Activity {
@Override
public void onDismiss(DialogInterface dialog) {
super.onDismiss(dialog);
- getActivity().finish();
+ if (isAdded()) {
+ getActivity().finish();
+ }
+ }
+
+ /**
+ * Returns whether there is only one user on this device, not including
+ * the system-only user.
+ */
+ private boolean isSingleUser(UserManager userManager) {
+ final int userCount = userManager.getUserCount();
+ return userCount == 1
+ || (UserManager.isSplitSystemUser() && userCount == 2);
}
}
@@ -127,9 +143,11 @@ public class UninstallerActivity extends Activity {
@Override
public void onDismiss(DialogInterface dialog) {
super.onDismiss(dialog);
- ((UninstallerActivity) getActivity()).dispatchAborted();
- getActivity().setResult(Activity.RESULT_FIRST_USER);
- getActivity().finish();
+ if (isAdded()) {
+ ((UninstallerActivity) getActivity()).dispatchAborted();
+ getActivity().setResult(Activity.RESULT_FIRST_USER);
+ getActivity().finish();
+ }
}
}
diff --git a/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java b/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java
index e54b7029..a6601165 100644
--- a/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java
+++ b/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java
@@ -25,10 +25,12 @@ import android.content.pm.PackageManager;
import android.content.pm.PermissionGroupInfo;
import android.content.pm.PermissionInfo;
import android.os.Build;
+import android.os.Process;
import android.os.UserHandle;
import android.util.ArrayMap;
import com.android.packageinstaller.R;
+import com.android.packageinstaller.permission.utils.ArrayUtils;
import com.android.packageinstaller.permission.utils.LocationUtils;
import java.util.ArrayList;
@@ -67,7 +69,7 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup>
if (permissionInfo.protectionLevel != PermissionInfo.PROTECTION_DANGEROUS
|| (permissionInfo.flags & PermissionInfo.FLAG_INSTALLED) == 0
- || (permissionInfo.flags & PermissionInfo.FLAG_HIDDEN) != 0) {
+ || (permissionInfo.flags & PermissionInfo.FLAG_REMOVED) != 0) {
return null;
}
@@ -92,7 +94,7 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup>
}
return create(context, packageInfo, groupInfo, permissionInfos,
- new UserHandle(context.getUserId()));
+ Process.myUserHandle());
}
public static AppPermissionGroup create(Context context, PackageInfo packageInfo,
@@ -135,21 +137,20 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup>
continue;
}
- // Don't allow toggle of non platform defined permissions for legacy apps via app ops.
+ // Don't allow toggling non-platform permission groups for legacy apps via app ops.
if (packageInfo.applicationInfo.targetSdkVersion <= Build.VERSION_CODES.LOLLIPOP_MR1
- && !PLATFORM_PACKAGE_NAME.equals(requestedPermissionInfo.packageName)) {
+ && !PLATFORM_PACKAGE_NAME.equals(groupInfo.packageName)) {
continue;
}
final boolean granted = (packageInfo.requestedPermissionsFlags[i]
& PackageInfo.REQUESTED_PERMISSION_GRANTED) != 0;
- final int appOp = PLATFORM_PACKAGE_NAME.equals(requestedPermissionInfo.packageName)
- ? AppOpsManager.permissionToOpCode(requestedPermissionInfo.name)
- : AppOpsManager.OP_NONE;
+ final String appOp = PLATFORM_PACKAGE_NAME.equals(requestedPermissionInfo.packageName)
+ ? AppOpsManager.permissionToOp(requestedPermissionInfo.name) : null;
- final boolean appOpAllowed = appOp != AppOpsManager.OP_NONE
- && context.getSystemService(AppOpsManager.class).checkOp(appOp,
+ final boolean appOpAllowed = appOp != null
+ && context.getSystemService(AppOpsManager.class).checkOpNoThrow(appOp,
packageInfo.applicationInfo.uid, packageInfo.packageName)
== AppOpsManager.MODE_ALLOWED;
@@ -209,23 +210,39 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup>
return mAppSupportsRuntimePermissions;
}
-
- public boolean hasGrantedByDefaultPermission() {
+ public boolean isReviewRequired() {
+ if (mAppSupportsRuntimePermissions) {
+ return false;
+ }
final int permissionCount = mPermissions.size();
for (int i = 0; i < permissionCount; i++) {
Permission permission = mPermissions.valueAt(i);
- if (permission.isGrantedByDefault()) {
+ if (permission.isReviewRequired()) {
return true;
}
}
return false;
}
- public boolean hasAppOpPermission() {
+ public void resetReviewRequired() {
+ final int permissionCount = mPermissions.size();
+ for (int i = 0; i < permissionCount; i++) {
+ Permission permission = mPermissions.valueAt(i);
+ if (permission.isReviewRequired()) {
+ permission.resetReviewRequired();
+ mPackageManager.updatePermissionFlags(permission.getName(),
+ mPackageInfo.packageName,
+ PackageManager.FLAG_PERMISSION_REVIEW_REQUIRED,
+ 0, mUserHandle);
+ }
+ }
+ }
+
+ public boolean hasGrantedByDefaultPermission() {
final int permissionCount = mPermissions.size();
for (int i = 0; i < permissionCount; i++) {
Permission permission = mPermissions.valueAt(i);
- if (permission.getAppOp() != AppOpsManager.OP_NONE) {
+ if (permission.isGrantedByDefault()) {
return true;
}
}
@@ -260,24 +277,35 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup>
return mDescription;
}
+ public int getUserId() {
+ return mUserHandle.getIdentifier();
+ }
+
public boolean hasPermission(String permission) {
return mPermissions.get(permission) != null;
}
public boolean areRuntimePermissionsGranted() {
+ return areRuntimePermissionsGranted(null);
+ }
+
+ public boolean areRuntimePermissionsGranted(String[] filterPermissions) {
if (LocationUtils.isLocationGroupAndProvider(mName, mPackageInfo.packageName)) {
return LocationUtils.isLocationEnabled(mContext);
}
final int permissionCount = mPermissions.size();
for (int i = 0; i < permissionCount; i++) {
Permission permission = mPermissions.valueAt(i);
+ if (filterPermissions != null
+ && !ArrayUtils.contains(filterPermissions, permission.getName())) {
+ continue;
+ }
if (mAppSupportsRuntimePermissions) {
if (permission.isGranted()) {
return true;
}
- } else if (permission.isGranted() && ((permission.getAppOp()
- != AppOpsManager.OP_NONE && permission.isAppOpAllowed())
- || permission.getAppOp() == AppOpsManager.OP_NONE)) {
+ } else if (permission.isGranted() && (permission.getAppOp() == null
+ || permission.isAppOpAllowed())) {
return true;
}
}
@@ -285,13 +313,21 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup>
}
public boolean grantRuntimePermissions(boolean fixedByTheUser) {
- final boolean isSharedUser = mPackageInfo.sharedUserId != null;
+ return grantRuntimePermissions(fixedByTheUser, null);
+ }
+
+ public boolean grantRuntimePermissions(boolean fixedByTheUser, String[] filterPermissions) {
final int uid = mPackageInfo.applicationInfo.uid;
// We toggle permissions only to apps that support runtime
// permissions, otherwise we toggle the app op corresponding
// to the permission if the permission is granted to the app.
for (Permission permission : mPermissions.values()) {
+ if (filterPermissions != null
+ && !ArrayUtils.contains(filterPermissions, permission.getName())) {
+ continue;
+ }
+
if (mAppSupportsRuntimePermissions) {
// Do not touch permissions fixed by the system.
if (permission.isSystemFixed()) {
@@ -327,43 +363,42 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup>
}
} else {
// Legacy apps cannot have a not granted permission but just in case.
- // Also if the permissions has no corresponding app op, then it is a
- // third-party one and we do not offer toggling of such permissions.
- if (!permission.isGranted() || !permission.hasAppOp()) {
+ if (!permission.isGranted()) {
continue;
}
- if (!permission.isAppOpAllowed()) {
- permission.setAppOpAllowed(true);
- // It this is a shared user we want to enable the app op for all
- // packages in the shared user to match the behavior of this
- // shared user having a runtime permission.
- if (isSharedUser) {
- // Enable the app op.
- String[] packageNames = mPackageManager.getPackagesForUid(uid);
- for (String packageName : packageNames) {
- mAppOps.setUidMode(permission.getAppOp(), uid,
- AppOpsManager.MODE_ALLOWED);
- }
- } else {
+ int killUid = -1;
+ int mask = 0;
+
+ // If the permissions has no corresponding app op, then it is a
+ // third-party one and we do not offer toggling of such permissions.
+ if (permission.hasAppOp()) {
+ if (!permission.isAppOpAllowed()) {
+ permission.setAppOpAllowed(true);
// Enable the app op.
mAppOps.setUidMode(permission.getAppOp(), uid, AppOpsManager.MODE_ALLOWED);
+
+ // Legacy apps do not know that they have to retry access to a
+ // resource due to changes in runtime permissions (app ops in this
+ // case). Therefore, we restart them on app op change, so they
+ // can pick up the change.
+ killUid = uid;
}
// Mark that the permission should not be be granted on upgrade
// when the app begins supporting runtime permissions.
if (permission.shouldRevokeOnUpgrade()) {
permission.setRevokeOnUpgrade(false);
- mPackageManager.updatePermissionFlags(permission.getName(),
- mPackageInfo.packageName,
- PackageManager.FLAG_PERMISSION_REVOKE_ON_UPGRADE,
- 0, mUserHandle);
+ mask |= PackageManager.FLAG_PERMISSION_REVOKE_ON_UPGRADE;
}
+ }
+
+ if (mask != 0) {
+ mPackageManager.updatePermissionFlags(permission.getName(),
+ mPackageInfo.packageName, mask, 0, mUserHandle);
+ }
- // Legacy apps do not know that they have to retry access to a
- // resource due to changes in runtime permissions (app ops in this
- // case). Therefore, we restart them on app op change, so they
- // can pick up the change.
+ if (killUid != -1) {
mActivityManager.killUid(uid, KILL_REASON_APP_OP_CHANGE);
}
}
@@ -373,13 +408,21 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup>
}
public boolean revokeRuntimePermissions(boolean fixedByTheUser) {
- final boolean isSharedUser = mPackageInfo.sharedUserId != null;
+ return revokeRuntimePermissions(fixedByTheUser, null);
+ }
+
+ public boolean revokeRuntimePermissions(boolean fixedByTheUser, String[] filterPermissions) {
final int uid = mPackageInfo.applicationInfo.uid;
// We toggle permissions only to apps that support runtime
// permissions, otherwise we toggle the app op corresponding
// to the permission if the permission is granted to the app.
for (Permission permission : mPermissions.values()) {
+ if (filterPermissions != null
+ && !ArrayUtils.contains(filterPermissions, permission.getName())) {
+ continue;
+ }
+
if (mAppSupportsRuntimePermissions) {
// Do not touch permissions fixed by the system.
if (permission.isSystemFixed()) {
@@ -419,43 +462,43 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup>
}
} else {
// Legacy apps cannot have a non-granted permission but just in case.
- // Also if the permission has no corresponding app op, then it is a
- // third-party one and we do not offer toggling of such permissions.
- if (!permission.isGranted() || !permission.hasAppOp()) {
+ if (!permission.isGranted()) {
continue;
}
- if (permission.isAppOpAllowed()) {
- permission.setAppOpAllowed(false);
- // It this is a shared user we want to enable the app op for all
- // packages the the shared user to match the behavior of this
- // shared user having a runtime permission.
- if (isSharedUser) {
- String[] packageNames = mPackageManager.getPackagesForUid(uid);
- for (String packageName : packageNames) {
- // Disable the app op.
- mAppOps.setUidMode(permission.getAppOp(), uid,
- AppOpsManager.MODE_IGNORED);
- }
- } else {
+ int mask = 0;
+ int flags = 0;
+ int killUid = -1;
+
+ // If the permission has no corresponding app op, then it is a
+ // third-party one and we do not offer toggling of such permissions.
+ if (permission.hasAppOp()) {
+ if (permission.isAppOpAllowed()) {
+ permission.setAppOpAllowed(false);
// Disable the app op.
mAppOps.setUidMode(permission.getAppOp(), uid, AppOpsManager.MODE_IGNORED);
+
+ // Disabling an app op may put the app in a situation in which it
+ // has a handle to state it shouldn't have, so we have to kill the
+ // app. This matches the revoke runtime permission behavior.
+ killUid = uid;
}
// Mark that the permission should not be granted on upgrade
// when the app begins supporting runtime permissions.
if (!permission.shouldRevokeOnUpgrade()) {
permission.setRevokeOnUpgrade(true);
- mPackageManager.updatePermissionFlags(permission.getName(),
- mPackageInfo.packageName,
- PackageManager.FLAG_PERMISSION_REVOKE_ON_UPGRADE,
- PackageManager.FLAG_PERMISSION_REVOKE_ON_UPGRADE,
- mUserHandle);
+ mask |= PackageManager.FLAG_PERMISSION_REVOKE_ON_UPGRADE;
+ flags |= PackageManager.FLAG_PERMISSION_REVOKE_ON_UPGRADE;
}
+ }
+
+ if (mask != 0) {
+ mPackageManager.updatePermissionFlags(permission.getName(),
+ mPackageInfo.packageName, mask, flags, mUserHandle);
+ }
- // Disabling an app op may put the app in a situation in which it
- // has a handle to state it shouldn't have, so we have to kill the
- // app. This matches the revoke runtime permission behavior.
+ if (killUid != -1) {
mActivityManager.killUid(uid, KILL_REASON_APP_OP_CHANGE);
}
}
diff --git a/src/com/android/packageinstaller/permission/model/AppPermissions.java b/src/com/android/packageinstaller/permission/model/AppPermissions.java
index a0f23d64..e455ef13 100644
--- a/src/com/android/packageinstaller/permission/model/AppPermissions.java
+++ b/src/com/android/packageinstaller/permission/model/AppPermissions.java
@@ -19,6 +19,7 @@ package com.android.packageinstaller.permission.model;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
+import android.os.Build;
import android.text.BidiFormatter;
import android.text.TextPaint;
import android.text.TextUtils;
@@ -31,16 +32,6 @@ import java.util.LinkedHashMap;
import java.util.List;
public final class AppPermissions {
- private static final float MAX_APP_LABEL_LENGTH_PIXELS = 500;
-
- private static final TextPaint sAppLabelEllipsizePaint = new TextPaint();
- static {
- sAppLabelEllipsizePaint.setAntiAlias(true);
- // Both text size and width are given in absolute pixels, for consistent truncation
- // across devices; this value corresponds to the default 14dip size on an xdhpi device.
- sAppLabelEllipsizePaint.setTextSize(42);
- }
-
private final ArrayList<AppPermissionGroup> mGroups = new ArrayList<>();
private final LinkedHashMap<String, AppPermissionGroup> mNameToGroupMap = new LinkedHashMap<>();
@@ -62,7 +53,9 @@ public final class AppPermissions {
mContext = context;
mPackageInfo = packageInfo;
mFilterPermissions = permissions;
- mAppLabel = loadEllipsizedAppLabel(context, packageInfo);
+ mAppLabel = BidiFormatter.getInstance().unicodeWrap(
+ packageInfo.applicationInfo.loadSafeLabel(
+ context.getPackageManager()).toString());
mSortGroups = sortGroups;
mOnErrorCallback = onErrorCallback;
loadPermissionGroups();
@@ -89,6 +82,19 @@ public final class AppPermissions {
return mGroups;
}
+ public boolean isReviewRequired() {
+ if (!Build.PERMISSIONS_REVIEW_REQUIRED) {
+ return false;
+ }
+ final int groupCount = mGroups.size();
+ for (int i = 0; i < groupCount; i++) {
+ AppPermissionGroup group = mGroups.get(i);
+ if (group.isReviewRequired()) {
+ return true;
+ }
+ }
+ return false;
+ }
private void loadPackageInfo() {
try {
@@ -163,16 +169,4 @@ public final class AppPermissions {
}
return false;
}
-
- private static CharSequence loadEllipsizedAppLabel(Context context, PackageInfo packageInfo) {
- String label = packageInfo.applicationInfo.loadLabel(
- context.getPackageManager()).toString();
- String ellipsizedLabel = label.replace("\n", " ");
- if (!DeviceUtils.isWear(context)) {
- // Only ellipsize for non-Wear devices.
- ellipsizedLabel = TextUtils.ellipsize(ellipsizedLabel, sAppLabelEllipsizePaint,
- MAX_APP_LABEL_LENGTH_PIXELS, TextUtils.TruncateAt.END).toString();
- }
- return BidiFormatter.getInstance().unicodeWrap(ellipsizedLabel);
- }
}
diff --git a/src/com/android/packageinstaller/permission/model/Permission.java b/src/com/android/packageinstaller/permission/model/Permission.java
index 1be4e75b..f9dc6e8e 100644
--- a/src/com/android/packageinstaller/permission/model/Permission.java
+++ b/src/com/android/packageinstaller/permission/model/Permission.java
@@ -16,19 +16,18 @@
package com.android.packageinstaller.permission.model;
-import android.app.AppOpsManager;
import android.content.pm.PackageManager;
public final class Permission {
private final String mName;
- private final int mAppOp;
+ private final String mAppOp;
private boolean mGranted;
private boolean mAppOpAllowed;
private int mFlags;
public Permission(String name, boolean granted,
- int appOp, boolean appOpAllowed, int flags) {
+ String appOp, boolean appOpAllowed, int flags) {
mName = name;
mGranted = granted;
mAppOp = appOp;
@@ -40,7 +39,7 @@ public final class Permission {
return mName;
}
- public int getAppOp() {
+ public String getAppOp() {
return mAppOp;
}
@@ -49,13 +48,21 @@ public final class Permission {
}
public boolean hasAppOp() {
- return mAppOp != AppOpsManager.OP_NONE;
+ return mAppOp != null;
}
public boolean isGranted() {
return mGranted;
}
+ public boolean isReviewRequired() {
+ return (mFlags & PackageManager.FLAG_PERMISSION_REVIEW_REQUIRED) != 0;
+ }
+
+ public void resetReviewRequired() {
+ mFlags &= ~PackageManager.FLAG_PERMISSION_REVIEW_REQUIRED;
+ }
+
public void setGranted(boolean mGranted) {
this.mGranted = mGranted;
}
diff --git a/src/com/android/packageinstaller/permission/model/PermissionApps.java b/src/com/android/packageinstaller/permission/model/PermissionApps.java
index e5d96d55..be32f2ac 100644
--- a/src/com/android/packageinstaller/permission/model/PermissionApps.java
+++ b/src/com/android/packageinstaller/permission/model/PermissionApps.java
@@ -24,6 +24,7 @@ import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.PermissionInfo;
import android.graphics.drawable.Drawable;
import android.os.AsyncTask;
+import android.os.Process;
import android.os.UserHandle;
import android.os.UserManager;
import android.util.ArrayMap;
@@ -35,7 +36,6 @@ import com.android.packageinstaller.R;
import com.android.packageinstaller.permission.utils.Utils;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.Collections;
import java.util.List;
@@ -120,7 +120,7 @@ public class PermissionApps {
return count;
}
- public Collection<PermissionApp> getApps() {
+ public List<PermissionApp> getApps() {
return mPermApps;
}
@@ -149,9 +149,10 @@ public class PermissionApps {
ArrayList<PermissionApp> permApps = new ArrayList<>();
- for (UserHandle user : UserManager.get(mContext).getUserProfiles()) {
+ UserManager userManager = mContext.getSystemService(UserManager.class);
+ for (UserHandle user : userManager.getUserProfiles()) {
List<PackageInfo> apps = mCache != null ? mCache.getPackages(user.getIdentifier())
- : mPm.getInstalledPackages(PackageManager.GET_PERMISSIONS,
+ : mPm.getInstalledPackagesAsUser(PackageManager.GET_PERMISSIONS,
user.getIdentifier());
final int N = apps.size();
@@ -182,17 +183,31 @@ public class PermissionApps {
|| (requestedPermissionInfo.flags
& PermissionInfo.FLAG_INSTALLED) == 0
|| (requestedPermissionInfo.flags
- & PermissionInfo.FLAG_HIDDEN) != 0) {
+ & PermissionInfo.FLAG_REMOVED) != 0) {
continue;
}
AppPermissionGroup group = AppPermissionGroup.create(mContext,
app, groupInfo, groupPermInfos, user);
+ if (group == null) {
+ continue;
+ }
+
String label = mSkipUi ? app.packageName
: app.applicationInfo.loadLabel(mPm).toString();
- PermissionApp permApp = new PermissionApp(app.packageName,
- group, label, getBadgedIcon(app.applicationInfo),
+
+ Drawable icon = null;
+ if (!mSkipUi) {
+ UserHandle userHandle = new UserHandle(
+ UserHandle.getUserId(group.getApp().applicationInfo.uid));
+
+ icon = mPm.getUserBadgedIcon(
+ mPm.loadUnbadgedItemIcon(app.applicationInfo, app.applicationInfo),
+ userHandle);
+ }
+
+ PermissionApp permApp = new PermissionApp(app.packageName, group, label, icon,
app.applicationInfo);
permApps.add(permApp);
@@ -246,15 +261,6 @@ public class PermissionApps {
return null;
}
- private Drawable getBadgedIcon(ApplicationInfo appInfo) {
- if (mSkipUi) {
- return null;
- }
- Drawable unbadged = appInfo.loadUnbadgedIcon(mPm);
- return mPm.getUserBadgedIcon(unbadged,
- new UserHandle(UserHandle.getUserId(appInfo.uid)));
- }
-
private void loadGroupInfo() {
PackageItemInfo info;
try {
@@ -317,6 +323,10 @@ public class PermissionApps {
return mAppPermissionGroup.areRuntimePermissionsGranted();
}
+ public boolean isReviewRequired() {
+ return mAppPermissionGroup.isReviewRequired();
+ }
+
public void grantRuntimePermissions() {
mAppPermissionGroup.grantRuntimePermissions(false);
}
@@ -341,8 +351,8 @@ public class PermissionApps {
return mAppPermissionGroup.hasRuntimePermission();
}
- public boolean hasAppOpPermissions() {
- return mAppPermissionGroup.hasAppOpPermission();
+ public int getUserId() {
+ return mAppPermissionGroup.getUserId();
}
public String getPackageName() {
@@ -401,7 +411,7 @@ public class PermissionApps {
public synchronized List<PackageInfo> getPackages(int userId) {
List<PackageInfo> ret = mPackageInfoCache.get(userId);
if (ret == null) {
- ret = mPm.getInstalledPackages(PackageManager.GET_PERMISSIONS, userId);
+ ret = mPm.getInstalledPackagesAsUser(PackageManager.GET_PERMISSIONS, userId);
mPackageInfoCache.put(userId, ret);
}
return ret;
diff --git a/src/com/android/packageinstaller/permission/model/PermissionGroups.java b/src/com/android/packageinstaller/permission/model/PermissionGroups.java
index c496e898..8ca69f24 100644
--- a/src/com/android/packageinstaller/permission/model/PermissionGroups.java
+++ b/src/com/android/packageinstaller/permission/model/PermissionGroups.java
@@ -131,7 +131,7 @@ public final class PermissionGroups implements LoaderCallbacks<List<PermissionGr
seenPermissions.add(groupPermission.name);
if (groupPermission.protectionLevel == PermissionInfo.PROTECTION_DANGEROUS
&& (groupPermission.flags & PermissionInfo.FLAG_INSTALLED) != 0
- && (groupPermission.flags & PermissionInfo.FLAG_HIDDEN) == 0) {
+ && (groupPermission.flags & PermissionInfo.FLAG_REMOVED) == 0) {
hasRuntimePermissions = true;
}
}
diff --git a/src/com/android/packageinstaller/permission/model/PermissionStatusReceiver.java b/src/com/android/packageinstaller/permission/model/PermissionStatusReceiver.java
index 810ae8ec..a87976a6 100644
--- a/src/com/android/packageinstaller/permission/model/PermissionStatusReceiver.java
+++ b/src/com/android/packageinstaller/permission/model/PermissionStatusReceiver.java
@@ -33,12 +33,110 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+/**
+ * This class handles backwards compatibility for M. Don't remove
+ * until we decide to drop M support altogether.
+ */
public class PermissionStatusReceiver extends BroadcastReceiver {
+
+ /**
+ * Broadcast action that requests current permission granted information. It will respond
+ * to the request by sending a broadcast with action defined by
+ * {@link #EXTRA_GET_PERMISSIONS_RESPONSE_INTENT}. The response will contain
+ * {@link #EXTRA_GET_PERMISSIONS_COUNT_RESULT}, as well as
+ * {@link #EXTRA_GET_PERMISSIONS_GROUP_LIST_RESULT}, with contents described below or
+ * a null upon failure.
+ *
+ * <p>If {@link Intent#EXTRA_PACKAGE_NAME} is included then the number of permissions granted, the
+ * number of permissions requested and the number of granted additional permissions
+ * by that package will be calculated and included as the first
+ * and second elements respectively of an int[] in the response as
+ * {@link #EXTRA_GET_PERMISSIONS_COUNT_RESULT}. The response will also deliver the list
+ * of localized permission group names that are granted in
+ * {@link #EXTRA_GET_PERMISSIONS_GROUP_LIST_RESULT}.
+ *
+ * <p>If {@link #EXTRA_PACKAGE_NAME} is not included then the number of apps granted any runtime
+ * permissions and the total number of apps requesting runtime permissions will be the first
+ * and second elements respectively of an int[] in the response as
+ * {@link #EXTRA_GET_PERMISSIONS_COUNT_RESULT}.
+ *
+ * @hide
+ */
+ public static final String ACTION_GET_PERMISSIONS_COUNT
+ = "android.intent.action.GET_PERMISSIONS_COUNT";
+
+ /**
+ * Broadcast action that requests list of all apps that have runtime permissions. It will
+ * respond to the request by sending a broadcast with action defined by
+ * {@link #EXTRA_GET_PERMISSIONS_PACKAGES_RESPONSE_INTENT}. The response will contain
+ * {@link #EXTRA_GET_PERMISSIONS_APP_LIST_RESULT}, as well as
+ * {@link #EXTRA_GET_PERMISSIONS_APP_LABEL_LIST_RESULT}, with contents described below or
+ * a null upon failure.
+ *
+ * <p>{@link #EXTRA_GET_PERMISSIONS_APP_LIST_RESULT} will contain a list of package names of
+ * apps that have runtime permissions. {@link #EXTRA_GET_PERMISSIONS_APP_LABEL_LIST_RESULT}
+ * will contain the list of app labels corresponding ot the apps in the first list.
+ *
+ * @hide
+ */
+ public static final String ACTION_GET_PERMISSIONS_PACKAGES
+ = "android.intent.action.GET_PERMISSIONS_PACKAGES";
+
+ /**
+ * Extra included in response to {@link #ACTION_GET_PERMISSIONS_COUNT}.
+ * @hide
+ */
+ public static final String EXTRA_GET_PERMISSIONS_COUNT_RESULT
+ = "android.intent.extra.GET_PERMISSIONS_COUNT_RESULT";
+
+ /**
+ * List of CharSequence of localized permission group labels.
+ * @hide
+ */
+ public static final String EXTRA_GET_PERMISSIONS_GROUP_LIST_RESULT
+ = "android.intent.extra.GET_PERMISSIONS_GROUP_LIST_RESULT";
+
+ /**
+ * String list of apps that have one or more runtime permissions.
+ * @hide
+ */
+ public static final String EXTRA_GET_PERMISSIONS_APP_LIST_RESULT
+ = "android.intent.extra.GET_PERMISSIONS_APP_LIST_RESULT";
+
+ /**
+ * String list of app labels for apps that have one or more runtime permissions.
+ * @hide
+ */
+ public static final String EXTRA_GET_PERMISSIONS_APP_LABEL_LIST_RESULT
+ = "android.intent.extra.GET_PERMISSIONS_APP_LABEL_LIST_RESULT";
+
+ /**
+ * Boolean list describing if the app is a system app for apps that have one or more runtime
+ * permissions.
+ * @hide
+ */
+ public static final String EXTRA_GET_PERMISSIONS_IS_SYSTEM_APP_LIST_RESULT
+ = "android.intent.extra.GET_PERMISSIONS_IS_SYSTEM_APP_LIST_RESULT";
+
+ /**
+ * Required extra to be sent with {@link #ACTION_GET_PERMISSIONS_COUNT} broadcasts.
+ * @hide
+ */
+ public static final String EXTRA_GET_PERMISSIONS_RESPONSE_INTENT
+ = "android.intent.extra.GET_PERMISSIONS_RESONSE_INTENT";
+
+ /**
+ * Required extra to be sent with {@link #ACTION_GET_PERMISSIONS_PACKAGES} broadcasts.
+ * @hide
+ */
+ public static final String EXTRA_GET_PERMISSIONS_PACKAGES_RESPONSE_INTENT
+ = "android.intent.extra.GET_PERMISSIONS_PACKAGES_RESONSE_INTENT";
+
@Override
public void onReceive(Context context, Intent intent) {
- if (Intent.ACTION_GET_PERMISSIONS_COUNT.equals(intent.getAction())) {
+ if (ACTION_GET_PERMISSIONS_COUNT.equals(intent.getAction())) {
Intent responseIntent = new Intent(intent.getStringExtra(
- Intent.EXTRA_GET_PERMISSIONS_RESPONSE_INTENT));
+ EXTRA_GET_PERMISSIONS_RESPONSE_INTENT));
responseIntent.setFlags(Intent.FLAG_RECEIVER_FOREGROUND);
int[] counts = new int[3];
@@ -54,28 +152,28 @@ public class PermissionStatusReceiver extends BroadcastReceiver {
succeeded = getAppsWithPermissionsCount(context, counts);
}
if (succeeded) {
- responseIntent.putExtra(Intent.EXTRA_GET_PERMISSIONS_COUNT_RESULT, counts);
+ responseIntent.putExtra(EXTRA_GET_PERMISSIONS_COUNT_RESULT, counts);
if (isForPackage) {
- responseIntent.putExtra(Intent.EXTRA_GET_PERMISSIONS_GROUP_LIST_RESULT,
+ responseIntent.putExtra(EXTRA_GET_PERMISSIONS_GROUP_LIST_RESULT,
grantedGroups.toArray(new CharSequence[grantedGroups.size()]));
}
}
context.sendBroadcast(responseIntent);
- } else if (Intent.ACTION_GET_PERMISSIONS_PACKAGES.equals(intent.getAction())) {
+ } else if (ACTION_GET_PERMISSIONS_PACKAGES.equals(intent.getAction())) {
Intent responseIntent = new Intent(intent.getStringExtra(
- Intent.EXTRA_GET_PERMISSIONS_PACKAGES_RESPONSE_INTENT));
+ EXTRA_GET_PERMISSIONS_PACKAGES_RESPONSE_INTENT));
responseIntent.setFlags(Intent.FLAG_RECEIVER_FOREGROUND);
List<String> appsList = new ArrayList<>();
List<CharSequence> appLabelsList = new ArrayList<>();
List<Boolean> isSystemAppList = new ArrayList<>();
if (getAppsWithRuntimePermissions(context, appsList, appLabelsList, isSystemAppList)) {
- responseIntent.putExtra(Intent.EXTRA_GET_PERMISSIONS_APP_LIST_RESULT,
+ responseIntent.putExtra(EXTRA_GET_PERMISSIONS_APP_LIST_RESULT,
appsList.toArray(new String[appsList.size()]));
- responseIntent.putExtra(Intent.EXTRA_GET_PERMISSIONS_APP_LABEL_LIST_RESULT,
+ responseIntent.putExtra(EXTRA_GET_PERMISSIONS_APP_LABEL_LIST_RESULT,
appLabelsList.toArray(new String[appLabelsList.size()]));
- responseIntent.putExtra(Intent.EXTRA_GET_PERMISSIONS_IS_SYSTEM_APP_LIST_RESULT,
+ responseIntent.putExtra(EXTRA_GET_PERMISSIONS_IS_SYSTEM_APP_LIST_RESULT,
toPrimitiveBoolArray(isSystemAppList));
}
context.sendBroadcast(responseIntent);
diff --git a/src/com/android/packageinstaller/permission/service/RuntimePermissionPresenterServiceImpl.java b/src/com/android/packageinstaller/permission/service/RuntimePermissionPresenterServiceImpl.java
new file mode 100644
index 00000000..fbd4f10c
--- /dev/null
+++ b/src/com/android/packageinstaller/permission/service/RuntimePermissionPresenterServiceImpl.java
@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.packageinstaller.permission.service;
+
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.permission.RuntimePermissionPresentationInfo;
+import android.permissionpresenterservice.RuntimePermissionPresenterService;
+import android.util.ArraySet;
+import android.util.Log;
+import com.android.packageinstaller.permission.model.AppPermissionGroup;
+import com.android.packageinstaller.permission.model.AppPermissions;
+import com.android.packageinstaller.permission.utils.Utils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Service that provides presentation information for runtime permissions.
+ */
+public final class RuntimePermissionPresenterServiceImpl extends RuntimePermissionPresenterService {
+ private static final String LOG_TAG = "PermissionPresenter";
+
+ @Override
+ public List<RuntimePermissionPresentationInfo> onGetAppPermissions(String packageName) {
+ final PackageInfo packageInfo;
+ try {
+ packageInfo = getPackageManager().getPackageInfo(packageName,
+ PackageManager.GET_PERMISSIONS);
+ } catch (PackageManager.NameNotFoundException e) {
+ Log.e(LOG_TAG, "Error getting package:" + packageName, e);
+ return null;
+ }
+
+ List<RuntimePermissionPresentationInfo> permissions = new ArrayList<>();
+
+ AppPermissions appPermissions = new AppPermissions(this, packageInfo, null, false, null);
+ for (AppPermissionGroup group : appPermissions.getPermissionGroups()) {
+ if (Utils.shouldShowPermission(group, packageName)) {
+ final boolean granted = group.areRuntimePermissionsGranted();
+ final boolean standard = Utils.OS_PKG.equals(group.getDeclaringPackage());
+ RuntimePermissionPresentationInfo permission =
+ new RuntimePermissionPresentationInfo(group.getLabel(),
+ granted, standard);
+ permissions.add(permission);
+ }
+ }
+
+ return permissions;
+ }
+
+ @Override
+ public List<ApplicationInfo> onGetAppsUsingPermissions(boolean system) {
+ final List<ApplicationInfo> appInfos = Utils.getAllInstalledApplications(this);
+ if (appInfos == null || appInfos.isEmpty()) {
+ return null;
+ }
+ List<ApplicationInfo> appsResult = new ArrayList<>();
+ ArraySet<String> launcherPackages = Utils.getLauncherPackages(this);
+ final int appInfosSize = appInfos.size();
+ for (int i = 0; i < appInfosSize; i++) {
+ ApplicationInfo appInfo = appInfos.get(i);
+ final String packageName = appInfo.packageName;
+ final PackageInfo packageInfo;
+ try {
+ packageInfo = getPackageManager().getPackageInfo(
+ packageName, PackageManager.GET_PERMISSIONS);
+ } catch (PackageManager.NameNotFoundException e) {
+ Log.e(LOG_TAG, "Error getting package info for:" + packageName, e);
+ continue;
+
+ }
+ AppPermissions appPermissions = new AppPermissions(this,
+ packageInfo, null, false, null);
+ boolean shouldShow = false;
+
+
+ for (AppPermissionGroup group : appPermissions.getPermissionGroups()) {
+ if (Utils.shouldShowPermission(group, packageName)) {
+ shouldShow = true;
+ break;
+ }
+ }
+ if (shouldShow) {
+ if (Utils.isSystem(appPermissions, launcherPackages) == system) {
+ appsResult.add(appInfo);
+ }
+ }
+ }
+ return appsResult;
+ }
+}
diff --git a/src/com/android/packageinstaller/permission/ui/ConfirmActionDialogFragment.java b/src/com/android/packageinstaller/permission/ui/ConfirmActionDialogFragment.java
new file mode 100644
index 00000000..d6d79001
--- /dev/null
+++ b/src/com/android/packageinstaller/permission/ui/ConfirmActionDialogFragment.java
@@ -0,0 +1,63 @@
+/*
+ * 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.
+ */
+
+package com.android.packageinstaller.permission.ui;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.app.DialogFragment;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import com.android.packageinstaller.R;
+
+public final class ConfirmActionDialogFragment extends DialogFragment {
+ public static final String ARG_MESSAGE = "MESSAGE";
+ public static final String ARG_ACTION = "ACTION";
+
+ public static interface OnActionConfirmedListener {
+ public void onActionConfirmed(String action);
+ }
+
+ public static ConfirmActionDialogFragment newInstance(CharSequence message, String action) {
+ Bundle arguments = new Bundle();
+ arguments.putCharSequence(ARG_MESSAGE, message);
+ arguments.putString(ARG_ACTION, action);
+ ConfirmActionDialogFragment fragment = new ConfirmActionDialogFragment();
+ fragment.setArguments(arguments);
+ return fragment;
+ }
+
+ @Override
+ public Dialog onCreateDialog(Bundle bundle) {
+ return new AlertDialog.Builder(getContext())
+ .setMessage(getArguments().getString(ARG_MESSAGE))
+ .setNegativeButton(R.string.cancel, null)
+ .setPositiveButton(R.string.grant_dialog_button_deny_anyway,
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ Activity activity = getActivity();
+ if (activity instanceof OnActionConfirmedListener) {
+ String groupName = getArguments().getString(ARG_ACTION);
+ ((OnActionConfirmedListener) activity)
+ .onActionConfirmed(groupName);
+ }
+ }
+ })
+ .create();
+ }
+}
diff --git a/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java b/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java
index 102fd6ef..4ee76a18 100644
--- a/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java
+++ b/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java
@@ -25,13 +25,14 @@ import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.PermissionInfo;
+import android.content.res.Configuration;
import android.content.res.Resources;
-import android.graphics.Typeface;
import android.graphics.drawable.Icon;
import android.hardware.camera2.utils.ArrayUtils;
+import android.os.Build;
import android.os.Bundle;
-import android.text.SpannableString;
-import android.text.style.StyleSpan;
+import android.text.Html;
+import android.text.Spanned;
import android.util.Log;
import android.view.KeyEvent;
import android.view.MotionEvent;
@@ -44,8 +45,8 @@ import com.android.packageinstaller.R;
import com.android.packageinstaller.permission.model.AppPermissionGroup;
import com.android.packageinstaller.permission.model.AppPermissions;
import com.android.packageinstaller.permission.model.Permission;
+import com.android.packageinstaller.permission.ui.handheld.GrantPermissionsViewHandlerImpl;
import com.android.packageinstaller.permission.utils.SafetyNetLogger;
-import com.android.packageinstaller.permission.utils.Utils;
import java.util.ArrayList;
import java.util.LinkedHashMap;
@@ -99,17 +100,27 @@ public class GrantPermissionsActivity extends OverlayTouchActivity
PackageInfo callingPackageInfo = getCallingPackageInfo();
+ if (callingPackageInfo == null || callingPackageInfo.requestedPermissions == null
+ || callingPackageInfo.requestedPermissions.length <= 0) {
+ setResultAndFinish();
+ return;
+ }
+
+ // Don't allow legacy apps to request runtime permissions.
+ if (callingPackageInfo.applicationInfo.targetSdkVersion < Build.VERSION_CODES.M) {
+ // Returning empty arrays means a cancellation.
+ mRequestedPermissions = new String[0];
+ mGrantResults = new int[0];
+ setResultAndFinish();
+ return;
+ }
+
DevicePolicyManager devicePolicyManager = getSystemService(DevicePolicyManager.class);
final int permissionPolicy = devicePolicyManager.getPermissionPolicy(null);
// If calling package is null we default to deny all.
updateDefaultResults(callingPackageInfo, permissionPolicy);
- if (callingPackageInfo == null) {
- setResultAndFinish();
- return;
- }
-
mAppPermissions = new AppPermissions(this, callingPackageInfo, null, false,
new Runnable() {
@Override
@@ -118,15 +129,15 @@ public class GrantPermissionsActivity extends OverlayTouchActivity
}
});
- for (AppPermissionGroup group : mAppPermissions.getPermissionGroups()) {
- boolean groupHasRequestedPermission = false;
- for (String requestedPermission : mRequestedPermissions) {
- if (group.hasPermission(requestedPermission)) {
- groupHasRequestedPermission = true;
+ for (String requestedPermission : mRequestedPermissions) {
+ AppPermissionGroup group = null;
+ for (AppPermissionGroup nextGroup : mAppPermissions.getPermissionGroups()) {
+ if (nextGroup.hasPermission(requestedPermission)) {
+ group = nextGroup;
break;
}
}
- if (!groupHasRequestedPermission) {
+ if (group == null) {
continue;
}
// We allow the user to choose only non-fixed permissions. A permission
@@ -176,6 +187,21 @@ public class GrantPermissionsActivity extends OverlayTouchActivity
}
@Override
+ public void onConfigurationChanged(Configuration newConfig) {
+ super.onConfigurationChanged(newConfig);
+ // We need to relayout the window as dialog width may be
+ // different in landscape vs portrait which affect the min
+ // window height needed to show all content. We have to
+ // re-add the window to force it to be resized if needed.
+ View decor = getWindow().getDecorView();
+ getWindowManager().removeViewImmediate(decor);
+ getWindowManager().addView(decor, decor.getLayoutParams());
+ if (mViewHandler instanceof GrantPermissionsViewHandlerImpl) {
+ ((GrantPermissionsViewHandlerImpl) mViewHandler).onConfigurationChanged();
+ }
+ }
+
+ @Override
public boolean dispatchTouchEvent(MotionEvent ev) {
View rootView = getWindow().getDecorView();
if (rootView.getTop() != 0) {
@@ -204,16 +230,10 @@ public class GrantPermissionsActivity extends OverlayTouchActivity
for (GroupState groupState : mRequestGrantPermissionGroups.values()) {
if (groupState.mState == GroupState.STATE_UNKNOWN) {
CharSequence appLabel = mAppPermissions.getAppLabel();
- SpannableString message = new SpannableString(getString(
- R.string.permission_warning_template, appLabel,
- groupState.mGroup.getDescription()));
+ Spanned message = Html.fromHtml(getString(R.string.permission_warning_template,
+ appLabel, groupState.mGroup.getDescription()), 0);
// Set the permission message as the title so it can be announced.
setTitle(message);
- // Color the app name.
- int appLabelStart = message.toString().indexOf(appLabel.toString(), 0);
- int appLabelLength = appLabel.length();
- message.setSpan(new StyleSpan(Typeface.BOLD), appLabelStart,
- appLabelStart + appLabelLength, 0);
// Set the new grant view
// TODO: Use a real message for the action. We need group action APIs
@@ -241,11 +261,6 @@ public class GrantPermissionsActivity extends OverlayTouchActivity
@Override
public void onPermissionGrantResult(String name, boolean granted, boolean doNotAskAgain) {
- if (isObscuredTouch()) {
- showOverlayDialog();
- finish();
- return;
- }
GroupState groupState = mRequestGrantPermissionGroups.get(name);
if (groupState.mGroup != null) {
if (granted) {
diff --git a/src/com/android/packageinstaller/permission/ui/ManualLayoutFrame.java b/src/com/android/packageinstaller/permission/ui/ManualLayoutFrame.java
index c9ccf9c1..a20c9523 100644
--- a/src/com/android/packageinstaller/permission/ui/ManualLayoutFrame.java
+++ b/src/com/android/packageinstaller/permission/ui/ManualLayoutFrame.java
@@ -18,58 +18,56 @@ package com.android.packageinstaller.permission.ui;
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
-import android.widget.FrameLayout;
+import android.view.ViewGroup;
-/**
- * Allows one standard layout pass, but afterwards holds getMeasuredHeight constant,
- * however still allows drawing larger at the size needed by its children. This allows
- * a dialog to tell the window the height is constant (with keeps its position constant)
- * but allows the view to grow downwards for animation.
- */
-public class ManualLayoutFrame extends FrameLayout {
-
- private int mDesiredHeight;
- private int mHeight;
+public class ManualLayoutFrame extends ViewGroup {
+ private int mContentBottom;
private int mWidth;
- private View mOffsetView;
-
public ManualLayoutFrame(Context context, AttributeSet attrs) {
super(context, attrs);
- setClipChildren(false);
- setClipToPadding(false);
}
- public int getLayoutHeight() {
- return mDesiredHeight;
+ public void onConfigurationChanged() {
+ mContentBottom = 0;
+ mWidth = 0;
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
if (mWidth != 0) {
- // Keep the width constant to avoid weirdness.
+ int newWidth = mWidth;
+ final int widthMode = MeasureSpec.getMode(widthMeasureSpec);
+ switch (widthMode) {
+ case MeasureSpec.AT_MOST: {
+ newWidth = Math.min(mWidth, MeasureSpec.getSize(widthMeasureSpec));
+ } break;
+ case MeasureSpec.EXACTLY: {
+ newWidth = MeasureSpec.getSize(widthMeasureSpec);
+ } break;
+ }
+ if (newWidth != mWidth) {
+ mWidth = newWidth;
+ }
widthMeasureSpec = MeasureSpec.makeMeasureSpec(mWidth, MeasureSpec.EXACTLY);
}
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
- mDesiredHeight = getMeasuredHeight();
- if (mHeight == 0 && mDesiredHeight != 0) {
- // Record the first non-zero width and height, this will be the height henceforth.
- mHeight = mDesiredHeight;
+ if (mWidth == 0) {
mWidth = getMeasuredWidth();
}
- if (mHeight != 0) {
- // Always report the same height
- setMeasuredDimension(getMeasuredWidth(), mHeight);
- }
+
+ measureChild(getChildAt(0), widthMeasureSpec, heightMeasureSpec);
}
@Override
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
- if (mDesiredHeight != 0) {
- // Draw at height we expect to be.
- setBottom(getTop() + mDesiredHeight);
- bottom = top + mDesiredHeight;
+ View content = getChildAt(0);
+ if (mContentBottom == 0) {
+ mContentBottom = (getMeasuredHeight() + content.getMeasuredHeight()) / 2;
}
- super.onLayout(changed, left, top, right, bottom);
+ final int contentLeft = (getMeasuredWidth() - content.getMeasuredWidth()) / 2;
+ final int contentTop = mContentBottom - content.getMeasuredHeight();
+ final int contentRight = contentLeft + content.getMeasuredWidth();
+ content.layout(contentLeft, contentTop, contentRight, mContentBottom);
}
}
diff --git a/src/com/android/packageinstaller/permission/ui/OverlayTouchActivity.java b/src/com/android/packageinstaller/permission/ui/OverlayTouchActivity.java
index 7b1d3793..a7800ca5 100644
--- a/src/com/android/packageinstaller/permission/ui/OverlayTouchActivity.java
+++ b/src/com/android/packageinstaller/permission/ui/OverlayTouchActivity.java
@@ -16,25 +16,32 @@
package com.android.packageinstaller.permission.ui;
import android.app.Activity;
-import android.content.Intent;
-import android.view.MotionEvent;
+import android.app.AppOpsManager;
+import android.os.Binder;
+import android.os.IBinder;
public class OverlayTouchActivity extends Activity {
+ private final IBinder mToken = new Binder();
- private boolean mObscuredTouch;
-
- public boolean isObscuredTouch() {
- return mObscuredTouch;
+ @Override
+ protected void onResume() {
+ super.onResume();
+ setOverlayAllowed(false);
}
@Override
- public boolean dispatchTouchEvent(MotionEvent event) {
- mObscuredTouch = (event.getFlags() & (MotionEvent.FLAG_WINDOW_IS_OBSCURED
- | MotionEvent.FLAG_WINDOW_IS_PARTIALLY_OBSCURED)) != 0;
- return super.dispatchTouchEvent(event);
+ protected void onPause() {
+ super.onPause();
+ setOverlayAllowed(true);
}
- public void showOverlayDialog() {
- startActivity(new Intent(this, OverlayWarningDialog.class));
+ private void setOverlayAllowed(boolean allowed) {
+ AppOpsManager appOpsManager = getSystemService(AppOpsManager.class);
+ if (appOpsManager != null) {
+ appOpsManager.setUserRestriction(AppOpsManager.OP_SYSTEM_ALERT_WINDOW,
+ !allowed, mToken);
+ appOpsManager.setUserRestriction(AppOpsManager.OP_TOAST_WINDOW,
+ !allowed, mToken);
+ }
}
}
diff --git a/src/com/android/packageinstaller/permission/ui/ReviewPermissionsActivity.java b/src/com/android/packageinstaller/permission/ui/ReviewPermissionsActivity.java
new file mode 100644
index 00000000..6bc251ae
--- /dev/null
+++ b/src/com/android/packageinstaller/permission/ui/ReviewPermissionsActivity.java
@@ -0,0 +1,412 @@
+/*
+ * 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.
+ */
+
+package com.android.packageinstaller.permission.ui;
+
+import android.app.Activity;
+
+import android.app.DialogFragment;
+import android.app.Fragment;
+import android.content.Intent;
+import android.content.IntentSender;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.graphics.drawable.Drawable;
+import android.os.Bundle;
+import android.os.RemoteCallback;
+import android.preference.Preference;
+import android.preference.PreferenceCategory;
+import android.preference.PreferenceFragment;
+import android.preference.PreferenceGroup;
+import android.preference.PreferenceScreen;
+import android.preference.SwitchPreference;
+import android.preference.TwoStatePreference;
+import android.text.SpannableString;
+import android.text.TextUtils;
+import android.text.style.ForegroundColorSpan;
+import android.util.TypedValue;
+import android.view.View;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.TextView;
+import com.android.packageinstaller.R;
+import com.android.packageinstaller.permission.model.AppPermissionGroup;
+import com.android.packageinstaller.permission.model.AppPermissions;
+import com.android.packageinstaller.permission.utils.Utils;
+import com.android.packageinstaller.permission.ui.ConfirmActionDialogFragment.OnActionConfirmedListener;
+
+import java.util.List;
+
+public final class ReviewPermissionsActivity extends Activity
+ implements OnActionConfirmedListener {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ PackageInfo packageInfo = getTargetPackageInfo();
+ if (packageInfo == null) {
+ finish();
+ return;
+ }
+
+ setContentView(R.layout.review_permissions);
+ if (getFragmentManager().findFragmentById(R.id.preferences_frame) == null) {
+ getFragmentManager().beginTransaction().add(R.id.preferences_frame,
+ ReviewPermissionsFragment.newInstance(packageInfo)).commit();
+ }
+ }
+
+ @Override
+ public void onActionConfirmed(String action) {
+ Fragment fragment = getFragmentManager().findFragmentById(R.id.preferences_frame);
+ if (fragment instanceof OnActionConfirmedListener) {
+ ((OnActionConfirmedListener) fragment).onActionConfirmed(action);
+ }
+ }
+
+ private PackageInfo getTargetPackageInfo() {
+ String packageName = getIntent().getStringExtra(Intent.EXTRA_PACKAGE_NAME);
+ if (TextUtils.isEmpty(packageName)) {
+ return null;
+ }
+ try {
+ return getPackageManager().getPackageInfo(packageName,
+ PackageManager.GET_PERMISSIONS);
+ } catch (PackageManager.NameNotFoundException e) {
+ return null;
+ }
+ }
+
+ public static final class ReviewPermissionsFragment extends PreferenceFragment
+ implements View.OnClickListener, Preference.OnPreferenceChangeListener,
+ ConfirmActionDialogFragment.OnActionConfirmedListener {
+ public static final String EXTRA_PACKAGE_INFO =
+ "com.android.packageinstaller.permission.ui.extra.PACKAGE_INFO";
+
+ private AppPermissions mAppPermissions;
+
+ private Button mContinueButton;
+ private Button mCancelButton;
+
+ private PreferenceCategory mNewPermissionsCategory;
+
+ private boolean mHasConfirmedRevoke;
+
+ public static ReviewPermissionsFragment newInstance(PackageInfo packageInfo) {
+ Bundle arguments = new Bundle();
+ arguments.putParcelable(ReviewPermissionsFragment.EXTRA_PACKAGE_INFO, packageInfo);
+ ReviewPermissionsFragment instance = new ReviewPermissionsFragment();
+ instance.setArguments(arguments);
+ instance.setRetainInstance(true);
+ return instance;
+ }
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ Activity activity = getActivity();
+ if (activity == null) {
+ return;
+ }
+
+ PackageInfo packageInfo = getArguments().getParcelable(EXTRA_PACKAGE_INFO);
+ if (packageInfo == null) {
+ activity.finish();
+ return;
+ }
+
+ mAppPermissions = new AppPermissions(activity, packageInfo, null, false,
+ new Runnable() {
+ @Override
+ public void run() {
+ getActivity().finish();
+ }
+ });
+
+ if (mAppPermissions.getPermissionGroups().isEmpty()) {
+ activity.finish();
+ return;
+ }
+
+ boolean reviewRequired = false;
+ for (AppPermissionGroup group : mAppPermissions.getPermissionGroups()) {
+ if (group.isReviewRequired()) {
+ reviewRequired = true;
+ break;
+ }
+ }
+
+ if (!reviewRequired) {
+ activity.finish();
+ }
+ }
+
+ @Override
+ public void onViewCreated(View view, Bundle savedInstanceState) {
+ super.onViewCreated(view, savedInstanceState);
+ bindUi();
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ mAppPermissions.refresh();
+ loadPreferences();
+ }
+
+ @Override
+ public void onClick(View view) {
+ Activity activity = getActivity();
+ if (activity == null) {
+ return;
+ }
+ if (view == mContinueButton) {
+ confirmPermissionsReview();
+ executeCallback(true);
+ } else if (view == mCancelButton) {
+ executeCallback(false);
+ activity.setResult(Activity.RESULT_CANCELED);
+ }
+ activity.finish();
+ }
+
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ if (mHasConfirmedRevoke) {
+ return true;
+ }
+ if (preference instanceof SwitchPreference) {
+ SwitchPreference switchPreference = (SwitchPreference) preference;
+ if (switchPreference.isChecked()) {
+ showWarnRevokeDialog(switchPreference.getKey());
+ } else {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ @Override
+ public void onActionConfirmed(String action) {
+ Preference preference = getPreferenceManager().findPreference(action);
+ if (preference instanceof SwitchPreference) {
+ SwitchPreference switchPreference = (SwitchPreference) preference;
+ switchPreference.setChecked(false);
+ mHasConfirmedRevoke = true;
+ }
+ }
+
+ private void showWarnRevokeDialog(final String groupName) {
+ DialogFragment fragment = ConfirmActionDialogFragment.newInstance(
+ getString(R.string.old_sdk_deny_warning), groupName);
+ fragment.show(getFragmentManager(), fragment.getClass().getName());
+ }
+
+ private void confirmPermissionsReview() {
+ PreferenceGroup preferenceGroup = mNewPermissionsCategory != null
+ ? mNewPermissionsCategory : getPreferenceScreen();
+
+ final int preferenceCount = preferenceGroup.getPreferenceCount();
+ for (int i = 0; i < preferenceCount; i++) {
+ Preference preference = preferenceGroup.getPreference(i);
+ if (preference instanceof TwoStatePreference) {
+ TwoStatePreference twoStatePreference = (TwoStatePreference) preference;
+ String groupName = preference.getKey();
+ AppPermissionGroup group = mAppPermissions.getPermissionGroup(groupName);
+ if (twoStatePreference.isChecked()) {
+ group.grantRuntimePermissions(false);
+ } else {
+ group.revokeRuntimePermissions(false);
+ }
+ group.resetReviewRequired();
+ }
+ }
+ }
+
+ private void bindUi() {
+ Activity activity = getActivity();
+ if (activity == null) {
+ return;
+ }
+
+ // Set icon
+ Drawable icon = mAppPermissions.getPackageInfo().applicationInfo.loadIcon(
+ activity.getPackageManager());
+ ImageView iconView = (ImageView) activity.findViewById(R.id.app_icon);
+ iconView.setImageDrawable(icon);
+
+ // Set message
+ String appLabel = mAppPermissions.getAppLabel().toString();
+ final int labelTemplateResId = isPackageUpdated()
+ ? R.string.permission_review_title_template_update
+ : R.string.permission_review_title_template_install;
+ SpannableString message = new SpannableString(getString(labelTemplateResId, appLabel));
+ // Set the permission message as the title so it can be announced.
+ activity.setTitle(message);
+
+ // Color the app name.
+ final int appLabelStart = message.toString().indexOf(appLabel, 0);
+ final int appLabelLength = appLabel.length();
+
+ TypedValue typedValue = new TypedValue();
+ activity.getTheme().resolveAttribute(android.R.attr.colorAccent, typedValue, true);
+ final int color = activity.getColor(typedValue.resourceId);
+
+ message.setSpan(new ForegroundColorSpan(color), appLabelStart,
+ appLabelStart + appLabelLength, 0);
+ TextView permissionsMessageView = (TextView) activity.findViewById(
+ R.id.permissions_message);
+ permissionsMessageView.setText(message);
+
+
+ mContinueButton = (Button) getActivity().findViewById(R.id.continue_button);
+ mContinueButton.setOnClickListener(this);
+
+ mCancelButton = (Button) getActivity().findViewById(R.id.cancel_button);
+ mCancelButton.setOnClickListener(this);
+ }
+
+ private void loadPreferences() {
+ Activity activity = getActivity();
+ if (activity == null) {
+ return;
+ }
+
+ PreferenceScreen screen = getPreferenceScreen();
+ if (screen == null) {
+ screen = getPreferenceManager().createPreferenceScreen(getActivity());
+ setPreferenceScreen(screen);
+ } else {
+ screen.removeAll();
+ }
+
+ PreferenceGroup currentPermissionsCategory = null;
+ PreferenceGroup oldNewPermissionsCategory = mNewPermissionsCategory;
+ mNewPermissionsCategory = null;
+
+ final boolean isPackageUpdated = isPackageUpdated();
+
+ for (AppPermissionGroup group : mAppPermissions.getPermissionGroups()) {
+ if (!Utils.shouldShowPermission(group, mAppPermissions.getPackageInfo().packageName)
+ || !Utils.OS_PKG.equals(group.getDeclaringPackage())) {
+ continue;
+ }
+
+ // TODO: Sort permissions - platform first then third-party ones
+
+ final SwitchPreference preference;
+ Preference cachedPreference = oldNewPermissionsCategory != null
+ ? oldNewPermissionsCategory.findPreference(group.getName()) : null;
+ if (cachedPreference instanceof SwitchPreference) {
+ preference = (SwitchPreference) cachedPreference;
+ } else {
+ preference = new SwitchPreference(getActivity());
+
+ preference.setKey(group.getName());
+ Drawable icon = Utils.loadDrawable(activity.getPackageManager(),
+ group.getIconPkg(), group.getIconResId());
+ preference.setIcon(Utils.applyTint(getContext(), icon,
+ android.R.attr.colorControlNormal));
+ preference.setTitle(group.getLabel());
+ preference.setSummary(group.getDescription());
+ preference.setPersistent(false);
+
+ preference.setOnPreferenceChangeListener(this);
+ }
+
+ preference.setChecked(group.areRuntimePermissionsGranted());
+
+ // Mutable state
+ if (group.isPolicyFixed()) {
+ preference.setEnabled(false);
+ preference.setSummary(getString(
+ R.string.permission_summary_enforced_by_policy));
+ } else {
+ preference.setEnabled(true);
+ }
+
+ if (group.isReviewRequired()) {
+ if (!isPackageUpdated) {
+ screen.addPreference(preference);
+ } else {
+ if (mNewPermissionsCategory == null) {
+ mNewPermissionsCategory = new PreferenceCategory(activity);
+ mNewPermissionsCategory.setTitle(R.string.new_permissions_category);
+ mNewPermissionsCategory.setOrder(1);
+ screen.addPreference(mNewPermissionsCategory);
+ }
+ mNewPermissionsCategory.addPreference(preference);
+ }
+ } else {
+ if (currentPermissionsCategory == null) {
+ currentPermissionsCategory = new PreferenceCategory(activity);
+ currentPermissionsCategory.setTitle(R.string.current_permissions_category);
+ currentPermissionsCategory.setOrder(2);
+ screen.addPreference(currentPermissionsCategory);
+ }
+ currentPermissionsCategory.addPreference(preference);
+ }
+ }
+ }
+
+ private boolean isPackageUpdated() {
+ List<AppPermissionGroup> groups = mAppPermissions.getPermissionGroups();
+ final int groupCount = groups.size();
+ for (int i = 0; i < groupCount; i++) {
+ AppPermissionGroup group = groups.get(i);
+ if (!group.isReviewRequired()) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ private void executeCallback(boolean success) {
+ Activity activity = getActivity();
+ if (activity == null) {
+ return;
+ }
+ if (success) {
+ IntentSender intent = activity.getIntent().getParcelableExtra(Intent.EXTRA_INTENT);
+ if (intent != null) {
+ try {
+ int flagMask = 0;
+ int flagValues = 0;
+ if (activity.getIntent().getBooleanExtra(
+ Intent.EXTRA_RESULT_NEEDED, false)) {
+ flagMask = Intent.FLAG_ACTIVITY_FORWARD_RESULT;
+ flagValues = Intent.FLAG_ACTIVITY_FORWARD_RESULT;
+ }
+ activity.startIntentSenderForResult(intent, -1, null,
+ flagMask, flagValues, 0);
+ } catch (IntentSender.SendIntentException e) {
+ /* ignore */
+ }
+ return;
+ }
+ }
+ RemoteCallback callback = activity.getIntent().getParcelableExtra(
+ Intent.EXTRA_REMOTE_CALLBACK);
+ if (callback != null) {
+ Bundle result = new Bundle();
+ result.putBoolean(Intent.EXTRA_RETURN_RESULT, success);
+ callback.sendResult(result);
+ }
+ }
+ }
+}
diff --git a/src/com/android/packageinstaller/permission/ui/SecureButtonView.java b/src/com/android/packageinstaller/permission/ui/SecureButtonView.java
new file mode 100644
index 00000000..624744e5
--- /dev/null
+++ b/src/com/android/packageinstaller/permission/ui/SecureButtonView.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.packageinstaller.permission.ui;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.view.MotionEvent;
+import android.widget.Button;
+
+/**
+ * Extension of Button that uses the hidden MotionEvent flag for partially obscured windows to
+ * prevent tapjacking attacks.
+ */
+public class SecureButtonView extends Button {
+
+ public SecureButtonView(Context context) {
+ this(context, null);
+ }
+
+ public SecureButtonView(Context context, AttributeSet attrs) {
+ this(context, attrs, 0);
+ }
+
+ public SecureButtonView(Context context, AttributeSet attrs, int defStyleAttr) {
+ this(context, attrs, defStyleAttr, 0);
+ }
+
+ public SecureButtonView(Context context, AttributeSet attrs, int defStyleAttr,
+ int defStyleRes) {
+ super(context, attrs, defStyleAttr, defStyleRes);
+ }
+
+ @Override
+ public boolean onFilterTouchEventForSecurity(MotionEvent event) {
+ if ((event.getFlags() & MotionEvent.FLAG_WINDOW_IS_OBSCURED) != 0
+ || (event.getFlags() & MotionEvent.FLAG_WINDOW_IS_PARTIALLY_OBSCURED) != 0) {
+ // Window is obscured, drop this touch.
+ return false;
+ }
+ return true;
+ }
+}
diff --git a/src/com/android/packageinstaller/permission/ui/handheld/AllAppPermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/handheld/AllAppPermissionsFragment.java
index b3b0895c..0c249e55 100644
--- a/src/com/android/packageinstaller/permission/ui/handheld/AllAppPermissionsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/handheld/AllAppPermissionsFragment.java
@@ -123,7 +123,7 @@ public final class AllAppPermissionsFragment extends SettingsWithHeader {
}
if ((perm.flags & PermissionInfo.FLAG_INSTALLED) == 0
- || (perm.flags & PermissionInfo.FLAG_HIDDEN) != 0) {
+ || (perm.flags & PermissionInfo.FLAG_REMOVED) != 0) {
continue;
}
diff --git a/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java
index f56cba70..422fb124 100644
--- a/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java
@@ -16,7 +16,6 @@
package com.android.packageinstaller.permission.ui.handheld;
-import android.annotation.Nullable;
import android.app.ActionBar;
import android.app.Activity;
import android.app.AlertDialog;
@@ -49,14 +48,17 @@ import android.widget.Toast;
import com.android.packageinstaller.R;
import com.android.packageinstaller.permission.model.AppPermissionGroup;
import com.android.packageinstaller.permission.model.AppPermissions;
-import com.android.packageinstaller.permission.ui.OverlayTouchActivity;
import com.android.packageinstaller.permission.utils.LocationUtils;
import com.android.packageinstaller.permission.utils.SafetyNetLogger;
import com.android.packageinstaller.permission.utils.Utils;
+import com.android.settingslib.HelpUtils;
+import com.android.settingslib.RestrictedLockUtils;
import java.util.ArrayList;
import java.util.List;
+import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+
public final class AppPermissionsFragment extends SettingsWithHeader
implements OnPreferenceChangeListener {
@@ -115,6 +117,7 @@ public final class AppPermissionsFragment extends SettingsWithHeader
public void onResume() {
super.onResume();
mAppPermissions.refresh();
+ loadPreferences();
setPreferencesCheckedState();
}
@@ -140,7 +143,7 @@ public final class AppPermissionsFragment extends SettingsWithHeader
}
@Override
- public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
+ public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
if (mAppPermissions != null) {
bindUi(this, mAppPermissions.getPackageInfo());
@@ -151,6 +154,8 @@ public final class AppPermissionsFragment extends SettingsWithHeader
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
menu.add(Menu.NONE, MENU_ALL_PERMS, Menu.NONE, R.string.all_permissions);
+ HelpUtils.prepareHelpMenuItem(getActivity(), menu, R.string.help_app_permissions,
+ getClass().getName());
}
private static void bindUi(SettingsWithHeader fragment, PackageInfo packageInfo) {
@@ -171,20 +176,6 @@ public final class AppPermissionsFragment extends SettingsWithHeader
if (ab != null) {
ab.setTitle(R.string.app_permissions);
}
-
- ViewGroup rootView = (ViewGroup) fragment.getView();
- ImageView iconView = (ImageView) rootView.findViewById(R.id.lb_icon);
- if (iconView != null) {
- iconView.setImageDrawable(icon);
- }
- TextView titleView = (TextView) rootView.findViewById(R.id.lb_title);
- if (titleView != null) {
- titleView.setText(R.string.app_permissions);
- }
- TextView breadcrumbView = (TextView) rootView.findViewById(R.id.lb_breadcrumb);
- if (breadcrumbView != null) {
- breadcrumbView.setText(label);
- }
}
private void loadPreferences() {
@@ -216,7 +207,7 @@ public final class AppPermissionsFragment extends SettingsWithHeader
boolean isPlatform = group.getDeclaringPackage().equals(Utils.OS_PKG);
- SwitchPreference preference = new SwitchPreference(context);
+ RestrictedSwitchPreference preference = new RestrictedSwitchPreference(context);
preference.setOnPreferenceChangeListener(this);
preference.setKey(group.getName());
Drawable icon = Utils.loadDrawable(context.getPackageManager(),
@@ -225,10 +216,17 @@ public final class AppPermissionsFragment extends SettingsWithHeader
android.R.attr.colorControlNormal));
preference.setTitle(group.getLabel());
if (group.isPolicyFixed()) {
- preference.setSummary(getString(R.string.permission_summary_enforced_by_policy));
+ EnforcedAdmin admin = RestrictedLockUtils.getProfileOrDeviceOwner(getContext(),
+ group.getUserId());
+ if (admin != null) {
+ preference.setDisabledByAdmin(admin);
+ preference.setSummary(R.string.disabled_by_admin_summary_text);
+ } else {
+ preference.setSummary(R.string.permission_summary_enforced_by_policy);
+ preference.setEnabled(false);
+ }
}
preference.setPersistent(false);
- preference.setEnabled(!group.isPolicyFixed());
preference.setChecked(group.areRuntimePermissionsGranted());
if (isPlatform) {
@@ -273,12 +271,6 @@ public final class AppPermissionsFragment extends SettingsWithHeader
return false;
}
- OverlayTouchActivity activity = (OverlayTouchActivity) getActivity();
- if (activity.isObscuredTouch()) {
- activity.showOverlayDialog();
- return false;
- }
-
addToggledGroup(group);
if (LocationUtils.isLocationGroupAndProvider(group.getName(), group.getApp().packageName)) {
@@ -294,7 +286,7 @@ public final class AppPermissionsFragment extends SettingsWithHeader
.setMessage(grantedByDefault ? R.string.system_warning
: R.string.old_sdk_deny_warning)
.setNegativeButton(R.string.cancel, null)
- .setPositiveButton(R.string.grant_dialog_button_deny,
+ .setPositiveButton(R.string.grant_dialog_button_deny_anyway,
new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
@@ -385,7 +377,7 @@ public final class AppPermissionsFragment extends SettingsWithHeader
}
@Override
- public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
+ public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
String packageName = getArguments().getString(Intent.EXTRA_PACKAGE_NAME);
bindUi(this, getPackageInfo(getActivity(), packageName));
diff --git a/src/com/android/packageinstaller/permission/ui/handheld/GrantPermissionsViewHandlerImpl.java b/src/com/android/packageinstaller/permission/ui/handheld/GrantPermissionsViewHandlerImpl.java
index 2d27f069..f2b0912d 100644
--- a/src/com/android/packageinstaller/permission/ui/handheld/GrantPermissionsViewHandlerImpl.java
+++ b/src/com/android/packageinstaller/permission/ui/handheld/GrantPermissionsViewHandlerImpl.java
@@ -16,23 +16,14 @@
package com.android.packageinstaller.permission.ui.handheld;
-import android.animation.Animator;
-import android.animation.AnimatorListenerAdapter;
-import android.animation.ObjectAnimator;
import android.content.Context;
-import android.content.res.Resources;
import android.graphics.drawable.Icon;
import android.os.Bundle;
-import android.util.SparseArray;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
-import android.view.View.OnLayoutChangeListener;
import android.view.ViewGroup;
-import android.view.ViewParent;
-import android.view.ViewRootImpl;
import android.view.WindowManager.LayoutParams;
-import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.view.animation.Interpolator;
import android.widget.Button;
@@ -45,8 +36,6 @@ import com.android.packageinstaller.permission.ui.ButtonBarLayout;
import com.android.packageinstaller.permission.ui.GrantPermissionsViewHandler;
import com.android.packageinstaller.permission.ui.ManualLayoutFrame;
-import java.util.ArrayList;
-
public final class GrantPermissionsViewHandlerImpl
implements GrantPermissionsViewHandler, OnClickListener {
@@ -59,14 +48,8 @@ public final class GrantPermissionsViewHandlerImpl
public static final String ARG_GROUP_DO_NOT_ASK_CHECKED = "ARG_GROUP_DO_NOT_ASK_CHECKED";
// Animation parameters.
- private static final long SIZE_START_DELAY = 300;
- private static final long SIZE_START_LENGTH = 233;
- private static final long FADE_OUT_START_DELAY = 300;
- private static final long FADE_OUT_START_LENGTH = 217;
- private static final long TRANSLATE_START_DELAY = 367;
- private static final long TRANSLATE_LENGTH = 317;
- private static final long GROUP_UPDATE_DELAY = 400;
- private static final long DO_NOT_ASK_CHECK_DELAY = 450;
+ private static final long OUT_DURATION = 200;
+ private static final long IN_DURATION = 300;
private final Context mContext;
@@ -86,22 +69,13 @@ public final class GrantPermissionsViewHandlerImpl
private CheckBox mDoNotAskCheckbox;
private Button mAllowButton;
- private ArrayList<ViewHeightController> mHeightControllers;
private ManualLayoutFrame mRootView;
// Needed for animation
private ViewGroup mDescContainer;
private ViewGroup mCurrentDesc;
- private ViewGroup mNextDesc;
-
private ViewGroup mDialogContainer;
-
- private final Runnable mUpdateGroup = new Runnable() {
- @Override
- public void run() {
- updateGroup();
- }
- };
+ private ButtonBarLayout mButtonBar;
public GrantPermissionsViewHandlerImpl(Context context) {
mContext = context;
@@ -160,171 +134,148 @@ public final class GrantPermissionsViewHandlerImpl
}
}
- private void animateToPermission() {
- if (mHeightControllers == null) {
- // We need to manually control the height of any views heigher than the root that
- // we inflate. Find all the views up to the root and create ViewHeightControllers for
- // them.
- mHeightControllers = new ArrayList<>();
- ViewRootImpl viewRoot = mRootView.getViewRootImpl();
- ViewParent v = mRootView.getParent();
- addHeightController(mDialogContainer);
- addHeightController(mRootView);
- while (v != viewRoot) {
- addHeightController((View) v);
- v = v.getParent();
- }
- // On the heighest level view, we want to setTop rather than setBottom to control the
- // height, this way the dialog will grow up rather than down.
- ViewHeightController realRootView =
- mHeightControllers.get(mHeightControllers.size() - 1);
- realRootView.setControlTop(true);
- }
-
- // Grab the current height/y positions, then wait for the layout to change,
- // so we can get the end height/y positions.
- final SparseArray<Float> startPositions = getViewPositions();
- final int startHeight = mRootView.getLayoutHeight();
- mRootView.addOnLayoutChangeListener(new OnLayoutChangeListener() {
- @Override
- public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft,
- int oldTop, int oldRight, int oldBottom) {
- mRootView.removeOnLayoutChangeListener(this);
- SparseArray<Float> endPositions = getViewPositions();
- int endHeight = mRootView.getLayoutHeight();
- if (startPositions.get(R.id.do_not_ask_checkbox) == 0
- && endPositions.get(R.id.do_not_ask_checkbox) != 0) {
- // If the checkbox didn't have a position before but has one now then set
- // the start position to the end position because it just became visible.
- startPositions.put(R.id.do_not_ask_checkbox,
- endPositions.get(R.id.do_not_ask_checkbox));
- }
- animateYPos(startPositions, endPositions, endHeight - startHeight);
- }
- });
+ public void onConfigurationChanged() {
+ mRootView.onConfigurationChanged();
+ }
+ private void animateOldContent(Runnable callback) {
// Fade out old description group and scale out the icon for it.
Interpolator interpolator = AnimationUtils.loadInterpolator(mContext,
android.R.interpolator.fast_out_linear_in);
+
+ // Icon scale to zero
mIconView.animate()
.scaleX(0)
.scaleY(0)
- .setStartDelay(FADE_OUT_START_DELAY)
- .setDuration(FADE_OUT_START_LENGTH)
+ .setDuration(OUT_DURATION)
.setInterpolator(interpolator)
.start();
+
+ // Description fade out
mCurrentDesc.animate()
.alpha(0)
- .setStartDelay(FADE_OUT_START_DELAY)
- .setDuration(FADE_OUT_START_LENGTH)
+ .setDuration(OUT_DURATION)
.setInterpolator(interpolator)
- .setListener(null)
+ .withEndAction(callback)
.start();
- // Update the index of the permission after the animations have started.
- mCurrentGroupView.getHandler().postDelayed(mUpdateGroup, GROUP_UPDATE_DELAY);
+ // Checkbox fade out if needed
+ if (!mShowDonNotAsk && mDoNotAskCheckbox.getVisibility() == View.VISIBLE) {
+ mDoNotAskCheckbox.animate()
+ .alpha(0)
+ .setDuration(OUT_DURATION)
+ .setInterpolator(interpolator)
+ .start();
+ }
+ }
- // Add the new description and translate it in.
- mNextDesc = (ViewGroup) LayoutInflater.from(mContext).inflate(
+ private void attachNewContent(final Runnable callback) {
+ mCurrentDesc = (ViewGroup) LayoutInflater.from(mContext).inflate(
R.layout.permission_description, mDescContainer, false);
+ mDescContainer.removeAllViews();
+ mDescContainer.addView(mCurrentDesc);
+
+ mDialogContainer.addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
+ @Override
+ public void onLayoutChange(View v, int left, int top, int right, int bottom,
+ int oldLeft, int oldTop, int oldRight, int oldBottom) {
+ mDialogContainer.removeOnLayoutChangeListener(this);
+
+ // Prepare new content to the right to be moved in
+ final int containerWidth = mDescContainer.getWidth();
+ mCurrentDesc.setTranslationX(containerWidth);
+
+ // How much scale for the dialog to appear the same?
+ final int oldDynamicHeight = oldBottom - oldTop - mButtonBar.getHeight();
+ final float scaleY = (float) oldDynamicHeight / mDescContainer.getHeight();
+
+ // How much to translate for the dialog to appear the same?
+ final int translationCompensatingScale = (int) (scaleY
+ * mDescContainer.getHeight() - mDescContainer.getHeight()) / 2;
+ final int translationY = (oldTop - top) + translationCompensatingScale;
+
+ // Animate to the current layout
+ mDescContainer.setScaleY(scaleY);
+ mDescContainer.setTranslationY(translationY);
+ mDescContainer.animate()
+ .translationY(0)
+ .scaleY(1.0f)
+ .setInterpolator(AnimationUtils.loadInterpolator(mContext,
+ android.R.interpolator.linear_out_slow_in))
+ .setDuration(IN_DURATION)
+ .withEndAction(callback)
+ .start();
+ }
+ }
+ );
- mMessageView = (TextView) mNextDesc.findViewById(R.id.permission_message);
- mIconView = (ImageView) mNextDesc.findViewById(R.id.permission_icon);
- updateDescription();
-
- int width = mDescContainer.getRootView().getWidth();
- mDescContainer.addView(mNextDesc);
- mNextDesc.setTranslationX(width);
-
- final View oldDesc = mCurrentDesc;
- // Remove the old view from the description, so that we can shrink if necessary.
- mDescContainer.removeView(oldDesc);
- oldDesc.setPadding(mDescContainer.getLeft(), mDescContainer.getTop(),
- mRootView.getRight() - mDescContainer.getRight(), 0);
- mRootView.addView(oldDesc);
+ mMessageView = (TextView) mCurrentDesc.findViewById(R.id.permission_message);
+ mIconView = (ImageView) mCurrentDesc.findViewById(R.id.permission_icon);
- mCurrentDesc = mNextDesc;
- mNextDesc.animate()
- .translationX(0)
- .setStartDelay(TRANSLATE_START_DELAY)
- .setDuration(TRANSLATE_LENGTH)
- .setInterpolator(AnimationUtils.loadInterpolator(mContext,
- android.R.interpolator.linear_out_slow_in))
- .setListener(new AnimatorListenerAdapter() {
- @Override
- public void onAnimationEnd(Animator animation) {
- // This is the longest animation, when it finishes, we are done.
- mRootView.removeView(oldDesc);
- }
- })
- .start();
+ final boolean doNotAskWasShown = mDoNotAskCheckbox.getVisibility() == View.VISIBLE;
- boolean visibleBefore = mDoNotAskCheckbox.getVisibility() == View.VISIBLE;
+ updateDescription();
+ updateGroup();
updateDoNotAskCheckBox();
- boolean visibleAfter = mDoNotAskCheckbox.getVisibility() == View.VISIBLE;
- if (visibleBefore != visibleAfter) {
- Animation anim = AnimationUtils.loadAnimation(mContext,
- visibleAfter ? android.R.anim.fade_in : android.R.anim.fade_out);
- anim.setStartOffset(visibleAfter ? DO_NOT_ASK_CHECK_DELAY : 0);
- mDoNotAskCheckbox.startAnimation(anim);
+
+ if (!doNotAskWasShown && mShowDonNotAsk) {
+ mDoNotAskCheckbox.setAlpha(0);
}
}
- private void addHeightController(View v) {
- ViewHeightController heightController = new ViewHeightController(v);
- heightController.setHeight(v.getHeight());
- mHeightControllers.add(heightController);
- }
+ private void animateNewContent() {
+ Interpolator interpolator = AnimationUtils.loadInterpolator(mContext,
+ android.R.interpolator.linear_out_slow_in);
- private SparseArray<Float> getViewPositions() {
- SparseArray<Float> locMap = new SparseArray<>();
- final int N = mDialogContainer.getChildCount();
- for (int i = 0; i < N; i++) {
- View child = mDialogContainer.getChildAt(i);
- if (child.getId() <= 0) {
- // Only track views with ids.
- continue;
- }
- locMap.put(child.getId(), child.getY());
+ // Description slide in
+ mCurrentDesc.animate()
+ .translationX(0)
+ .setDuration(IN_DURATION)
+ .setInterpolator(interpolator)
+ .start();
+
+ // Checkbox fade in if needed
+ if (mShowDonNotAsk && mDoNotAskCheckbox.getVisibility() == View.VISIBLE
+ && mDoNotAskCheckbox.getAlpha() < 1.0f) {
+ mDoNotAskCheckbox.setAlpha(0);
+ mDoNotAskCheckbox.animate()
+ .alpha(1.0f)
+ .setDuration(IN_DURATION)
+ .setInterpolator(interpolator)
+ .start();
}
- return locMap;
}
- private void animateYPos(SparseArray<Float> startPositions, SparseArray<Float> endPositions,
- int heightDiff) {
- final int N = startPositions.size();
- for (int i = 0; i < N; i++) {
- int key = startPositions.keyAt(i);
- float start = startPositions.get(key);
- float end = endPositions.get(key);
- if (start != end) {
- final View child = mDialogContainer.findViewById(key);
- child.setTranslationY(start - end);
- child.animate()
- .setStartDelay(SIZE_START_DELAY)
- .setDuration(SIZE_START_LENGTH)
- .translationY(0)
- .start();
+ private void animateToPermission() {
+ // Remove the old content
+ animateOldContent(new Runnable() {
+ @Override
+ public void run() {
+ // Add the new content
+ attachNewContent(new Runnable() {
+ @Override
+ public void run() {
+ // Animate the new content
+ animateNewContent();
+ }
+ });
}
- }
- for (int i = 0; i < mHeightControllers.size(); i++) {
- mHeightControllers.get(i).animateAddHeight(heightDiff);
- }
+ });
}
@Override
public View createView() {
mRootView = (ManualLayoutFrame) LayoutInflater.from(mContext)
.inflate(R.layout.grant_permissions, null);
- ((ButtonBarLayout) mRootView.findViewById(R.id.button_group)).setAllowStacking(true);
-
- mDialogContainer = (ViewGroup) mRootView.findViewById(R.id.dialog_container);
+ mButtonBar = (ButtonBarLayout) mRootView.findViewById(R.id.button_group);
+ mButtonBar.setAllowStacking(true);
mMessageView = (TextView) mRootView.findViewById(R.id.permission_message);
mIconView = (ImageView) mRootView.findViewById(R.id.permission_icon);
mCurrentGroupView = (TextView) mRootView.findViewById(R.id.current_page_text);
mDoNotAskCheckbox = (CheckBox) mRootView.findViewById(R.id.do_not_ask_checkbox);
mAllowButton = (Button) mRootView.findViewById(R.id.permission_allow_button);
+ mDialogContainer = (ViewGroup) mRootView.findViewById(R.id.dialog_container);
mDescContainer = (ViewGroup) mRootView.findViewById(R.id.desc_container);
mCurrentDesc = (ViewGroup) mRootView.findViewById(R.id.perm_desc_root);
@@ -402,61 +353,4 @@ public final class GrantPermissionsViewHandlerImpl
mResultListener.onPermissionGrantResult(mGroupName, false, doNotAskAgain);
}
}
-
- /**
- * Manually controls the height of a view through getBottom/setTop. Also listens
- * for layout changes and sets the height again to be sure it doesn't change.
- */
- private static final class ViewHeightController implements OnLayoutChangeListener {
- private final View mView;
- private int mHeight;
- private int mNextHeight;
- private boolean mControlTop;
- private ObjectAnimator mAnimator;
-
- public ViewHeightController(View view) {
- mView = view;
- mView.addOnLayoutChangeListener(this);
- }
-
- public void setControlTop(boolean controlTop) {
- mControlTop = controlTop;
- }
-
- public void animateAddHeight(int heightDiff) {
- if (heightDiff != 0) {
- if (mNextHeight == 0) {
- mNextHeight = mHeight;
- }
- mNextHeight += heightDiff;
- if (mAnimator != null) {
- mAnimator.cancel();
- }
- mAnimator = ObjectAnimator.ofInt(this, "height", mHeight, mNextHeight);
- mAnimator.setStartDelay(SIZE_START_DELAY);
- mAnimator.setDuration(SIZE_START_LENGTH);
- mAnimator.start();
- }
- }
-
- public void setHeight(int height) {
- mHeight = height;
- updateHeight();
- }
-
- @Override
- public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft,
- int oldTop, int oldRight, int oldBottom) {
- // Ensure that the height never changes.
- updateHeight();
- }
-
- private void updateHeight() {
- if (mControlTop) {
- mView.setTop(mView.getBottom() - mHeight);
- } else {
- mView.setBottom(mView.getTop() + mHeight);
- }
- }
- }
}
diff --git a/src/com/android/packageinstaller/permission/ui/handheld/ManagePermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/handheld/ManagePermissionsFragment.java
index c53da879..238af36d 100644
--- a/src/com/android/packageinstaller/permission/ui/handheld/ManagePermissionsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/handheld/ManagePermissionsFragment.java
@@ -15,7 +15,6 @@
*/
package com.android.packageinstaller.permission.ui.handheld;
-import android.annotation.Nullable;
import android.app.ActionBar;
import android.app.FragmentTransaction;
import android.content.ActivityNotFoundException;
@@ -115,32 +114,15 @@ public final class ManagePermissionsFragment extends PermissionsFrameFragment
}
@Override
- public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
+ public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
bindPermissionUi(getActivity(), getView());
}
- private static void bindPermissionUi(@Nullable Context context, @Nullable View rootView) {
+ private static void bindPermissionUi(Context context, View rootView) {
if (context == null || rootView == null) {
return;
}
-
- ImageView iconView = (ImageView) rootView.findViewById(R.id.lb_icon);
- if (iconView != null) {
- // Set the icon as the background instead of the image because ImageView
- // doesn't properly scale vector drawables beyond their intrinsic size
- Drawable icon = context.getDrawable(R.drawable.ic_lock);
- icon.setTint(context.getColor(R.color.off_white));
- iconView.setBackground(icon);
- }
- TextView titleView = (TextView) rootView.findViewById(R.id.lb_title);
- if (titleView != null) {
- titleView.setText(R.string.app_permissions);
- }
- TextView breadcrumbView = (TextView) rootView.findViewById(R.id.lb_breadcrumb);
- if (breadcrumbView != null) {
- breadcrumbView.setText(R.string.app_permissions_breadcrumb);
- }
}
private void updatePermissionsUi() {
@@ -260,7 +242,7 @@ public final class ManagePermissionsFragment extends PermissionsFrameFragment
}
@Override
- public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
+ public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
bindPermissionUi(getActivity(), getView());
}
diff --git a/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java b/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java
index eee2f716..df0bdd46 100644
--- a/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java
@@ -43,14 +43,17 @@ import com.android.packageinstaller.permission.model.AppPermissionGroup;
import com.android.packageinstaller.permission.model.PermissionApps;
import com.android.packageinstaller.permission.model.PermissionApps.Callback;
import com.android.packageinstaller.permission.model.PermissionApps.PermissionApp;
-import com.android.packageinstaller.permission.ui.OverlayTouchActivity;
import com.android.packageinstaller.permission.utils.LocationUtils;
import com.android.packageinstaller.permission.utils.SafetyNetLogger;
import com.android.packageinstaller.permission.utils.Utils;
+import com.android.settingslib.HelpUtils;
+import com.android.settingslib.RestrictedLockUtils;
import java.util.ArrayList;
import java.util.List;
+import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+
public final class PermissionAppsFragment extends PermissionsFrameFragment implements Callback,
Preference.OnPreferenceChangeListener {
@@ -111,6 +114,8 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple
R.string.menu_show_system);
mHideSystemMenu = menu.add(Menu.NONE, MENU_HIDE_SYSTEM, Menu.NONE,
R.string.menu_hide_system);
+ HelpUtils.prepareHelpMenuItem(getActivity(), menu, R.string.help_app_permissions,
+ getClass().getName());
updateMenu();
}
@@ -150,22 +155,6 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple
if (ab != null) {
ab.setTitle(fragment.getString(R.string.permission_title, label));
}
-
- final ViewGroup rootView = (ViewGroup) fragment.getView();
- final ImageView iconView = (ImageView) rootView.findViewById(R.id.lb_icon);
- if (iconView != null) {
- // Set the icon as the background instead of the image because ImageView
- // doesn't properly scale vector drawables beyond their intrinsic size
- iconView.setBackground(icon);
- }
- final TextView titleView = (TextView) rootView.findViewById(R.id.lb_title);
- if (titleView != null) {
- titleView.setText(label);
- }
- final TextView breadcrumbView = (TextView) rootView.findViewById(R.id.lb_breadcrumb);
- if (breadcrumbView != null) {
- breadcrumbView.setText(R.string.app_permissions);
- }
}
private void setOnPermissionsLoadedListener(Callback callback) {
@@ -219,12 +208,20 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple
if (existingPref != null) {
// If existing preference - only update its state.
- if (app.isPolicyFixed()) {
- existingPref.setSummary(getString(
- R.string.permission_summary_enforced_by_policy));
+ final boolean isPolicyFixed = app.isPolicyFixed();
+ EnforcedAdmin enforcedAdmin = RestrictedLockUtils.getProfileOrDeviceOwner(
+ getActivity(), app.getUserId());
+ if (!isTelevision && (existingPref instanceof RestrictedSwitchPreference)) {
+ ((RestrictedSwitchPreference) existingPref).setDisabledByAdmin(
+ isPolicyFixed ? enforcedAdmin : null);
+ existingPref.setSummary(isPolicyFixed ?
+ getString(R.string.disabled_by_admin_summary_text) : null);
+ } else {
+ existingPref.setEnabled(!isPolicyFixed);
+ existingPref.setSummary(isPolicyFixed ?
+ getString(R.string.permission_summary_enforced_by_policy) : null);
}
existingPref.setPersistent(false);
- existingPref.setEnabled(!app.isPolicyFixed());
if (existingPref instanceof SwitchPreference) {
((SwitchPreference) existingPref)
.setChecked(app.areRuntimePermissionsGranted());
@@ -232,16 +229,23 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple
continue;
}
- SwitchPreference pref = new SwitchPreference(context);
+ RestrictedSwitchPreference pref = new RestrictedSwitchPreference(context);
pref.setOnPreferenceChangeListener(this);
pref.setKey(app.getKey());
pref.setIcon(app.getIcon());
pref.setTitle(app.getLabel());
+ EnforcedAdmin enforcedAdmin = RestrictedLockUtils.getProfileOrDeviceOwner(
+ getActivity(), app.getUserId());
if (app.isPolicyFixed()) {
- pref.setSummary(getString(R.string.permission_summary_enforced_by_policy));
+ if (!isTelevision && enforcedAdmin != null) {
+ pref.setDisabledByAdmin(enforcedAdmin);
+ pref.setSummary(R.string.disabled_by_admin_summary_text);
+ } else {
+ pref.setEnabled(false);
+ pref.setSummary(R.string.permission_summary_enforced_by_policy);
+ }
}
pref.setPersistent(false);
- pref.setEnabled(!app.isPolicyFixed());
pref.setChecked(app.areRuntimePermissionsGranted());
if (isSystemApp && isTelevision) {
@@ -318,12 +322,6 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple
return false;
}
- OverlayTouchActivity activity = (OverlayTouchActivity) getActivity();
- if (activity.isObscuredTouch()) {
- activity.showOverlayDialog();
- return false;
- }
-
addToggledGroup(app.getPackageName(), app.getPermissionGroup());
if (LocationUtils.isLocationGroupAndProvider(mPermissionApps.getGroupName(),
@@ -340,7 +338,7 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple
.setMessage(grantedByDefault ? R.string.system_warning
: R.string.old_sdk_deny_warning)
.setNegativeButton(R.string.cancel, null)
- .setPositiveButton(R.string.grant_dialog_button_deny,
+ .setPositiveButton(R.string.grant_dialog_button_deny_anyway,
new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
diff --git a/src/com/android/packageinstaller/permission/ui/handheld/RestrictedSwitchPreference.java b/src/com/android/packageinstaller/permission/ui/handheld/RestrictedSwitchPreference.java
new file mode 100644
index 00000000..44a7f471
--- /dev/null
+++ b/src/com/android/packageinstaller/permission/ui/handheld/RestrictedSwitchPreference.java
@@ -0,0 +1,86 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.packageinstaller.permission.ui.handheld;
+
+import android.content.Context;
+import android.preference.PreferenceScreen;
+import android.preference.SwitchPreference;
+import android.util.AttributeSet;
+import android.view.View;
+import android.widget.TextView;
+
+import com.android.packageinstaller.R;
+import com.android.settingslib.RestrictedLockUtils;
+
+import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+
+public class RestrictedSwitchPreference extends SwitchPreference {
+ private final Context mContext;
+ private boolean mDisabledByAdmin;
+ private EnforcedAdmin mEnforcedAdmin;
+ private final int mSwitchWidgetResId;
+
+ public RestrictedSwitchPreference(Context context) {
+ super(context);
+ mSwitchWidgetResId = getWidgetLayoutResource();
+ mContext = context;
+ }
+
+ @Override
+ public void onBindView(View view) {
+ super.onBindView(view);
+ if (mDisabledByAdmin) {
+ view.setEnabled(true);
+ }
+ if (mDisabledByAdmin) {
+ final TextView summaryView = (TextView) view.findViewById(android.R.id.summary);
+ if (summaryView != null) {
+ summaryView.setText(
+ isChecked() ? R.string.enabled_by_admin : R.string.disabled_by_admin);
+ summaryView.setVisibility(View.VISIBLE);
+ }
+ }
+ }
+
+ @Override
+ public void setEnabled(boolean enabled) {
+ if (enabled && mDisabledByAdmin) {
+ setDisabledByAdmin(null);
+ } else {
+ super.setEnabled(enabled);
+ }
+ }
+
+ public void setDisabledByAdmin(EnforcedAdmin admin) {
+ final boolean disabled = (admin != null ? true : false);
+ mEnforcedAdmin = admin;
+ if (mDisabledByAdmin != disabled) {
+ mDisabledByAdmin = disabled;
+ setWidgetLayoutResource(disabled ? R.layout.restricted_icon : mSwitchWidgetResId);
+ setEnabled(!disabled);
+ }
+ }
+
+ @Override
+ public void performClick(PreferenceScreen preferenceScreen) {
+ if (mDisabledByAdmin) {
+ RestrictedLockUtils.sendShowAdminSupportDetailsIntent(mContext, mEnforcedAdmin);
+ } else {
+ super.performClick(preferenceScreen);
+ }
+ }
+} \ No newline at end of file
diff --git a/src/com/android/packageinstaller/permission/ui/handheld/SettingsWithHeader.java b/src/com/android/packageinstaller/permission/ui/handheld/SettingsWithHeader.java
index c15a4287..d5775796 100644
--- a/src/com/android/packageinstaller/permission/ui/handheld/SettingsWithHeader.java
+++ b/src/com/android/packageinstaller/permission/ui/handheld/SettingsWithHeader.java
@@ -28,7 +28,6 @@ import android.widget.TextView;
import com.android.packageinstaller.DeviceUtils;
import com.android.packageinstaller.R;
-import com.android.packageinstaller.permission.utils.Utils;
public abstract class SettingsWithHeader extends PermissionsFrameFragment
implements OnClickListener {
diff --git a/src/com/android/packageinstaller/permission/ui/television/AllAppPermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/television/AllAppPermissionsFragment.java
index d4910128..0f8cb5b1 100644
--- a/src/com/android/packageinstaller/permission/ui/television/AllAppPermissionsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/television/AllAppPermissionsFragment.java
@@ -16,8 +16,10 @@
package com.android.packageinstaller.permission.ui.television;
+import android.Manifest;
import android.app.ActionBar;
import android.app.AlertDialog;
+import android.content.Context;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
@@ -28,9 +30,12 @@ import android.content.pm.PermissionGroupInfo;
import android.content.pm.PermissionInfo;
import android.graphics.drawable.Drawable;
import android.net.Uri;
+import android.os.Build;
import android.os.Bundle;
import android.provider.Settings;
+import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
+import android.support.v7.preference.Preference.OnPreferenceChangeListener;
import android.support.v7.preference.Preference.OnPreferenceClickListener;
import android.support.v7.preference.PreferenceCategory;
import android.support.v7.preference.PreferenceGroup;
@@ -38,6 +43,8 @@ import android.util.Log;
import android.view.MenuItem;
import com.android.packageinstaller.R;
+import com.android.packageinstaller.permission.model.AppPermissionGroup;
+import com.android.packageinstaller.permission.model.AppPermissions;
import com.android.packageinstaller.permission.utils.Utils;
import java.util.ArrayList;
@@ -50,6 +57,10 @@ public final class AllAppPermissionsFragment extends SettingsWithHeader {
private static final String KEY_OTHER = "other_perms";
+ private PackageInfo mPackageInfo;
+
+ private AppPermissions mAppPermissions;
+
public static AllAppPermissionsFragment newInstance(String packageName) {
AllAppPermissionsFragment instance = new AllAppPermissionsFragment();
Bundle arguments = new Bundle();
@@ -67,6 +78,22 @@ public final class AllAppPermissionsFragment extends SettingsWithHeader {
ab.setTitle(R.string.all_permissions);
ab.setDisplayHomeAsUpEnabled(true);
}
+
+ String pkg = getArguments().getString(Intent.EXTRA_PACKAGE_NAME);
+ try {
+ mPackageInfo = getActivity().getPackageManager().getPackageInfo(pkg,
+ PackageManager.GET_PERMISSIONS);
+ } catch (NameNotFoundException e) {
+ getActivity().finish();
+ }
+
+ mAppPermissions = new AppPermissions(getActivity(), mPackageInfo, null, false,
+ new Runnable() {
+ @Override
+ public void run() {
+ getActivity().finish();
+ }
+ });
}
@Override
@@ -86,62 +113,64 @@ public final class AllAppPermissionsFragment extends SettingsWithHeader {
return super.onOptionsItemSelected(item);
}
- private void updateUi() {
- if (getPreferenceScreen() != null) {
- getPreferenceScreen().removeAll();
- }
- addPreferencesFromResource(R.xml.all_permissions);
+ private PreferenceGroup getOtherGroup() {
PreferenceGroup otherGroup = (PreferenceGroup) findPreference(KEY_OTHER);
+ if (otherGroup == null) {
+ otherGroup = new PreferenceCategory(getPreferenceManager().getContext());
+ otherGroup.setKey(KEY_OTHER);
+ otherGroup.setTitle(getString(R.string.other_permissions));
+ getPreferenceScreen().addPreference(otherGroup);
+ }
+ return otherGroup;
+ }
+
+ private void updateUi() {
+ getPreferenceScreen().removeAll();
+
ArrayList<Preference> prefs = new ArrayList<>(); // Used for sorting.
- prefs.add(otherGroup);
- String pkg = getArguments().getString(Intent.EXTRA_PACKAGE_NAME);
- otherGroup.removeAll();
- PackageManager pm = getContext().getPackageManager();
+ PackageManager pm = getActivity().getPackageManager();
- try {
- PackageInfo info = pm.getPackageInfo(pkg, PackageManager.GET_PERMISSIONS);
-
- ApplicationInfo appInfo = info.applicationInfo;
- final Drawable icon = appInfo.loadIcon(pm);
- final CharSequence label = appInfo.loadLabel(pm);
- Intent infoIntent = null;
- if (!getActivity().getIntent().getBooleanExtra(
- AppPermissionsFragment.EXTRA_HIDE_INFO_BUTTON, false)) {
- infoIntent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
- .setData(Uri.fromParts("package", pkg, null));
- }
- setHeader(icon, label, infoIntent);
-
- if (info.requestedPermissions != null) {
- for (int i = 0; i < info.requestedPermissions.length; i++) {
- PermissionInfo perm;
- try {
- perm = pm.getPermissionInfo(info.requestedPermissions[i], 0);
- } catch (NameNotFoundException e) {
- Log.e(LOG_TAG,
- "Can't get permission info for " + info.requestedPermissions[i], e);
- continue;
- }
+ ApplicationInfo appInfo = mPackageInfo.applicationInfo;
+ final Drawable icon = appInfo.loadIcon(pm);
+ final CharSequence label = appInfo.loadLabel(pm);
+ Intent infoIntent = null;
+ if (!getActivity().getIntent().getBooleanExtra(
+ AppPermissionsFragment.EXTRA_HIDE_INFO_BUTTON, false)) {
+ infoIntent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
+ .setData(Uri.fromParts("package", mPackageInfo.packageName, null));
+ }
+ setHeader(icon, label, infoIntent, null);
- if ((perm.flags & PermissionInfo.FLAG_INSTALLED) == 0
- || (perm.flags & PermissionInfo.FLAG_HIDDEN) != 0) {
- continue;
- }
+ if (mPackageInfo.requestedPermissions != null) {
+ for (int i = 0; i < mPackageInfo.requestedPermissions.length; i++) {
+ PermissionInfo perm;
+ try {
+ perm = pm.getPermissionInfo(mPackageInfo.requestedPermissions[i], 0);
+ } catch (NameNotFoundException e) {
+ Log.e(LOG_TAG, "Can't get permission info for "
+ + mPackageInfo.requestedPermissions[i], e);
+ continue;
+ }
+
+ if ((perm.flags & PermissionInfo.FLAG_INSTALLED) == 0
+ || (perm.flags & PermissionInfo.FLAG_REMOVED) != 0) {
+ continue;
+ }
- if (perm.protectionLevel == PermissionInfo.PROTECTION_DANGEROUS) {
- PermissionGroupInfo group = getGroup(perm.group, pm);
- PreferenceGroup pref =
- findOrCreate(group != null ? group : perm, pm, prefs);
- pref.addPreference(getPreference(perm, group, pm));
- } else if (perm.protectionLevel == PermissionInfo.PROTECTION_NORMAL) {
- PermissionGroupInfo group = getGroup(perm.group, pm);
- otherGroup.addPreference(getPreference(perm, group, pm));
+ PermissionGroupInfo group = getGroup(perm.group, pm);
+ if (perm.protectionLevel == PermissionInfo.PROTECTION_DANGEROUS) {
+ PreferenceGroup pref = findOrCreate(group != null ? group : perm, pm, prefs);
+ pref.addPreference(getPreference(perm, group));
+ } else if (perm.protectionLevel == PermissionInfo.PROTECTION_NORMAL) {
+ PreferenceGroup otherGroup = getOtherGroup();
+ if (prefs.indexOf(otherGroup) < 0) {
+ prefs.add(otherGroup);
}
+ getOtherGroup().addPreference(getPreference(perm, group));
}
}
- } catch (NameNotFoundException e) {
- Log.e(LOG_TAG, "Problem getting package info for " + pkg, e);
}
+
// Sort an ArrayList of the groups and then set the order from the sorting.
Collections.sort(prefs, new Comparator<Preference>() {
@Override
@@ -176,7 +205,7 @@ public final class AllAppPermissionsFragment extends SettingsWithHeader {
ArrayList<Preference> prefs) {
PreferenceGroup pref = (PreferenceGroup) findPreference(group.name);
if (pref == null) {
- pref = new PreferenceCategory(getContext());
+ pref = new PreferenceCategory(getActivity());
pref.setKey(group.name);
pref.setLayoutResource(R.layout.preference_category_material);
pref.setTitle(group.loadLabel(pm));
@@ -186,26 +215,57 @@ public final class AllAppPermissionsFragment extends SettingsWithHeader {
return pref;
}
- private Preference getPreference(PermissionInfo perm, PermissionGroupInfo group,
- PackageManager pm) {
- Preference pref = new Preference(getContext());
- pref.setLayoutResource(R.layout.preference_permissions);
- Drawable icon = null;
- if (perm.icon != 0) {
- icon = perm.loadIcon(pm);
- } else if (group != null && group.icon != 0) {
- icon = group.loadIcon(pm);
+ private Preference getPreference(final PermissionInfo perm, final PermissionGroupInfo group) {
+ if (isMutableGranularPermission(perm.name)) {
+ return getMutablePreference(perm, group);
} else {
- icon = getContext().getDrawable(R.drawable.ic_perm_device_info);
+ return getImmutablePreference(perm, group);
}
- pref.setIcon(Utils.applyTint(getContext(), icon, android.R.attr.colorControlNormal));
+ }
+
+ private Preference getMutablePreference(final PermissionInfo perm, PermissionGroupInfo group) {
+ final AppPermissionGroup permGroup = mAppPermissions.getPermissionGroup(group.name);
+ final String[] filterPermissions = new String[]{perm.name};
+
+ // TODO: No hardcoded layouts
+ SwitchPreference pref = new SwitchPreference(getPreferenceManager().getContext());
+ pref.setLayoutResource(R.layout.preference_permissions);
+ pref.setChecked(permGroup.areRuntimePermissionsGranted(filterPermissions));
+ pref.setIcon(getTintedPermissionIcon(getActivity(), perm, group));
+ pref.setTitle(perm.loadLabel(getActivity().getPackageManager()));
+ pref.setPersistent(false);
+
+ pref.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object value) {
+ if (value == Boolean.TRUE) {
+ permGroup.grantRuntimePermissions(false, filterPermissions);
+ } else {
+ permGroup.revokeRuntimePermissions(false, filterPermissions);
+ }
+ return true;
+ }
+ });
+
+ return pref;
+ }
+
+ private Preference getImmutablePreference(final PermissionInfo perm,
+ PermissionGroupInfo group) {
+ final PackageManager pm = getActivity().getPackageManager();
+
+ // TODO: No hardcoded layouts
+ Preference pref = new Preference(getActivity());
+ pref.setLayoutResource(R.layout.preference_permissions);
+ pref.setIcon(getTintedPermissionIcon(getActivity(), perm, group));
pref.setTitle(perm.loadLabel(pm));
- final CharSequence desc = perm.loadDescription(pm);
+ pref.setPersistent(false);
+
pref.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
- new AlertDialog.Builder(getContext())
- .setMessage(desc)
+ new AlertDialog.Builder(getActivity())
+ .setMessage(perm.loadDescription(pm))
.setPositiveButton(android.R.string.ok, null)
.show();
return true;
@@ -214,4 +274,33 @@ public final class AllAppPermissionsFragment extends SettingsWithHeader {
return pref;
}
+
+ private static Drawable getTintedPermissionIcon(Context context, PermissionInfo perm,
+ PermissionGroupInfo group) {
+ final Drawable icon;
+ if (perm.icon != 0) {
+ icon = perm.loadIcon(context.getPackageManager());
+ } else if (group != null && group.icon != 0) {
+ icon = group.loadIcon(context.getPackageManager());
+ } else {
+ icon = context.getDrawable(R.drawable.ic_perm_device_info);
+ }
+ return Utils.applyTint(context, icon, android.R.attr.colorControlNormal);
+ }
+
+ private static boolean isMutableGranularPermission(String name) {
+ if (!Build.PERMISSIONS_REVIEW_REQUIRED) {
+ return false;
+ }
+ switch (name) {
+ case Manifest.permission.READ_CONTACTS:
+ case Manifest.permission.WRITE_CONTACTS:
+ case Manifest.permission.READ_SMS:
+ case Manifest.permission.READ_CALL_LOG:
+ case Manifest.permission.CALL_PHONE: {
+ return true;
+ }
+ }
+ return false;
+ }
} \ No newline at end of file
diff --git a/src/com/android/packageinstaller/permission/ui/television/AppPermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/television/AppPermissionsFragment.java
index 42a2661c..26467de9 100644
--- a/src/com/android/packageinstaller/permission/ui/television/AppPermissionsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/television/AppPermissionsFragment.java
@@ -16,7 +16,6 @@
package com.android.packageinstaller.permission.ui.television;
-import android.annotation.Nullable;
import android.app.ActionBar;
import android.app.Activity;
import android.app.AlertDialog;
@@ -28,6 +27,7 @@ import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
+import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Bundle;
@@ -37,20 +37,22 @@ import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference.OnPreferenceChangeListener;
import android.support.v7.preference.Preference.OnPreferenceClickListener;
import android.support.v7.preference.PreferenceScreen;
+import android.support.v7.preference.PreferenceViewHolder;
+import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
-import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import com.android.packageinstaller.R;
+
import com.android.packageinstaller.permission.model.AppPermissionGroup;
import com.android.packageinstaller.permission.model.AppPermissions;
-import com.android.packageinstaller.permission.ui.OverlayTouchActivity;
+import com.android.packageinstaller.permission.ui.ReviewPermissionsActivity;
import com.android.packageinstaller.permission.utils.LocationUtils;
import com.android.packageinstaller.permission.utils.SafetyNetLogger;
import com.android.packageinstaller.permission.utils.Utils;
@@ -103,12 +105,22 @@ public final class AppPermissionsFragment extends SettingsWithHeader
return;
}
+
mAppPermissions = new AppPermissions(activity, packageInfo, null, true, new Runnable() {
@Override
public void run() {
getActivity().finish();
}
});
+
+ if (mAppPermissions.isReviewRequired()) {
+ Intent intent = new Intent(getActivity(), ReviewPermissionsActivity.class);
+ intent.putExtra(Intent.EXTRA_PACKAGE_NAME, packageName);
+ startActivity(intent);
+ getActivity().finish();
+ return;
+ }
+
loadPreferences();
}
@@ -116,6 +128,7 @@ public final class AppPermissionsFragment extends SettingsWithHeader
public void onResume() {
super.onResume();
mAppPermissions.refresh();
+ loadPreferences();
setPreferencesCheckedState();
}
@@ -141,7 +154,7 @@ public final class AppPermissionsFragment extends SettingsWithHeader
}
@Override
- public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
+ public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
if (mAppPermissions != null) {
bindUi(this, mAppPermissions.getPackageInfo());
@@ -166,26 +179,8 @@ public final class AppPermissionsFragment extends SettingsWithHeader
Drawable icon = appInfo.loadIcon(pm);
CharSequence label = appInfo.loadLabel(pm);
- fragment.setHeader(icon, label, infoIntent);
-
- ActionBar ab = activity.getActionBar();
- if (ab != null) {
- ab.setTitle(R.string.app_permissions);
- }
-
- ViewGroup rootView = (ViewGroup) fragment.getView();
- ImageView iconView = (ImageView) rootView.findViewById(R.id.lb_icon);
- if (iconView != null) {
- iconView.setImageDrawable(icon);
- }
- TextView titleView = (TextView) rootView.findViewById(R.id.lb_title);
- if (titleView != null) {
- titleView.setText(R.string.app_permissions);
- }
- TextView breadcrumbView = (TextView) rootView.findViewById(R.id.lb_breadcrumb);
- if (breadcrumbView != null) {
- breadcrumbView.setText(label);
- }
+ fragment.setHeader(icon, label, infoIntent, fragment.getString(
+ R.string.app_permissions_decor_title));
}
private void loadPreferences() {
@@ -196,9 +191,11 @@ public final class AppPermissionsFragment extends SettingsWithHeader
PreferenceScreen screen = getPreferenceScreen();
screen.removeAll();
+ screen.addPreference(createHeaderLineTwoPreference(context));
if (mExtraScreen != null) {
mExtraScreen.removeAll();
+ mExtraScreen = null;
}
final Preference extraPerms = new Preference(context);
@@ -232,6 +229,7 @@ public final class AppPermissionsFragment extends SettingsWithHeader
} else {
if (mExtraScreen == null) {
mExtraScreen = getPreferenceManager().createPreferenceScreen(context);
+ mExtraScreen.addPreference(createHeaderLineTwoPreference(context));
}
mExtraScreen.addPreference(preference);
}
@@ -260,6 +258,30 @@ public final class AppPermissionsFragment extends SettingsWithHeader
setLoading(false /* loading */, true /* animate */);
}
+ /**
+ * Creates a heading below decor_title and above the rest of the preferences. This heading
+ * displays the app name and banner icon. It's used in both system and additional permissions
+ * fragments for each app. The styling used is the same as a leanback preference with a
+ * customized background color
+ * @param context The context the preferences created on
+ * @return The preference header to be inserted as the first preference in the list.
+ */
+ private Preference createHeaderLineTwoPreference(Context context) {
+ Preference headerLineTwo = new Preference(context) {
+ @Override
+ public void onBindViewHolder(PreferenceViewHolder holder) {
+ super.onBindViewHolder(holder);
+ holder.itemView.setBackgroundColor(
+ getResources().getColor(R.color.lb_header_banner_color));
+ }
+ };
+ headerLineTwo.setKey(HEADER_PREFERENCE_KEY);
+ headerLineTwo.setSelectable(false);
+ headerLineTwo.setTitle(mLabel);
+ headerLineTwo.setIcon(mIcon);
+ return headerLineTwo;
+ }
+
@Override
public boolean onPreferenceChange(final Preference preference, Object newValue) {
String groupName = preference.getKey();
@@ -269,12 +291,6 @@ public final class AppPermissionsFragment extends SettingsWithHeader
return false;
}
- OverlayTouchActivity activity = (OverlayTouchActivity) getActivity();
- if (activity.isObscuredTouch()) {
- activity.showOverlayDialog();
- return false;
- }
-
addToggledGroup(group);
if (LocationUtils.isLocationGroupAndProvider(group.getName(), group.getApp().packageName)) {
@@ -290,7 +306,7 @@ public final class AppPermissionsFragment extends SettingsWithHeader
.setMessage(grantedByDefault ? R.string.system_warning
: R.string.old_sdk_deny_warning)
.setNegativeButton(R.string.cancel, null)
- .setPositiveButton(R.string.grant_dialog_button_deny,
+ .setPositiveButton(R.string.grant_dialog_button_deny_anyway,
new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
@@ -375,7 +391,6 @@ public final class AppPermissionsFragment extends SettingsWithHeader
public void onCreate(Bundle savedInstanceState) {
mOuterFragment = (AppPermissionsFragment) getTargetFragment();
super.onCreate(savedInstanceState);
- setHeader(mOuterFragment.mIcon, mOuterFragment.mLabel, mOuterFragment.mInfoIntent);
setHasOptionsMenu(true);
}
@@ -385,12 +400,28 @@ public final class AppPermissionsFragment extends SettingsWithHeader
}
@Override
- public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
+ public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
String packageName = getArguments().getString(Intent.EXTRA_PACKAGE_NAME);
bindUi(this, getPackageInfo(getActivity(), packageName));
}
+ private static void bindUi(SettingsWithHeader fragment, PackageInfo packageInfo) {
+ Activity activity = fragment.getActivity();
+ PackageManager pm = activity.getPackageManager();
+ ApplicationInfo appInfo = packageInfo.applicationInfo;
+ Intent infoIntent = null;
+ if (!activity.getIntent().getBooleanExtra(EXTRA_HIDE_INFO_BUTTON, false)) {
+ infoIntent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
+ .setData(Uri.fromParts("package", packageInfo.packageName, null));
+ }
+
+ Drawable icon = appInfo.loadIcon(pm);
+ CharSequence label = appInfo.loadLabel(pm);
+ fragment.setHeader(icon, label, infoIntent, fragment.getString(
+ R.string.additional_permissions_decor_title));
+ }
+
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
diff --git a/src/com/android/packageinstaller/permission/ui/television/ManagePermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/television/ManagePermissionsFragment.java
index 47301f48..35f866de 100644
--- a/src/com/android/packageinstaller/permission/ui/television/ManagePermissionsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/television/ManagePermissionsFragment.java
@@ -21,7 +21,6 @@ import android.app.FragmentTransaction;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
-import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference.OnPreferenceClickListener;
@@ -30,8 +29,6 @@ import android.util.ArraySet;
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
-import android.widget.ImageView;
-import android.widget.TextView;
import com.android.packageinstaller.R;
import com.android.packageinstaller.permission.model.PermissionApps;
@@ -42,7 +39,7 @@ import com.android.packageinstaller.permission.utils.Utils;
import java.util.List;
-public final class ManagePermissionsFragment extends PermissionsFrameFragment
+public final class ManagePermissionsFragment extends SettingsWithHeader
implements PermissionGroups.PermissionsGroupsChangeCallback, OnPreferenceClickListener {
private static final String LOG_TAG = "ManagePermissionsFragment";
@@ -115,32 +112,17 @@ public final class ManagePermissionsFragment extends PermissionsFrameFragment
}
@Override
- public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
+ public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
- bindPermissionUi(getActivity(), getView());
+ bindPermissionUi(this, getView());
}
- private static void bindPermissionUi(@Nullable Context context, @Nullable View rootView) {
- if (context == null || rootView == null) {
+ private static void bindPermissionUi(SettingsWithHeader fragment, @Nullable View rootView) {
+ if (fragment == null || rootView == null) {
return;
}
-
- ImageView iconView = (ImageView) rootView.findViewById(R.id.lb_icon);
- if (iconView != null) {
- // Set the icon as the background instead of the image because ImageView
- // doesn't properly scale vector drawables beyond their intrinsic size
- Drawable icon = context.getDrawable(R.drawable.ic_lock);
- icon.setTint(context.getColor(R.color.off_white));
- iconView.setBackground(icon);
- }
- TextView titleView = (TextView) rootView.findViewById(R.id.lb_title);
- if (titleView != null) {
- titleView.setText(R.string.app_permissions);
- }
- TextView breadcrumbView = (TextView) rootView.findViewById(R.id.lb_breadcrumb);
- if (breadcrumbView != null) {
- breadcrumbView.setText(R.string.app_permissions_breadcrumb);
- }
+ fragment.setHeader(null, null, null, fragment.getString(
+ R.string.manage_permissions_decor_title));
}
private void updatePermissionsUi() {
@@ -227,7 +209,7 @@ public final class ManagePermissionsFragment extends PermissionsFrameFragment
}
}
- public static class AdditionalPermissionsFragment extends PermissionsFrameFragment {
+ public static class AdditionalPermissionsFragment extends SettingsWithHeader {
@Override
public void onCreate(Bundle icicle) {
setLoading(true /* loading */, false /* animate */);
@@ -253,9 +235,17 @@ public final class ManagePermissionsFragment extends PermissionsFrameFragment
}
@Override
- public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
+ public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
- bindPermissionUi(getActivity(), getView());
+ bindPermissionUi(this, getView());
+ }
+
+ private static void bindPermissionUi(SettingsWithHeader fragment, @Nullable View rootView) {
+ if (fragment == null || rootView == null) {
+ return;
+ }
+ fragment.setHeader(null, null, null,
+ fragment.getString(R.string.additional_permissions_decor_title));
}
@Override
diff --git a/src/com/android/packageinstaller/permission/ui/television/PermissionAppsFragment.java b/src/com/android/packageinstaller/permission/ui/television/PermissionAppsFragment.java
index 0f240bef..29839c14 100644
--- a/src/com/android/packageinstaller/permission/ui/television/PermissionAppsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/television/PermissionAppsFragment.java
@@ -15,6 +15,7 @@
*/
package com.android.packageinstaller.permission.ui.television;
+import android.annotation.Nullable;
import android.app.ActionBar;
import android.app.AlertDialog;
import android.app.Fragment;
@@ -45,7 +46,7 @@ import com.android.packageinstaller.permission.model.AppPermissionGroup;
import com.android.packageinstaller.permission.model.PermissionApps;
import com.android.packageinstaller.permission.model.PermissionApps.Callback;
import com.android.packageinstaller.permission.model.PermissionApps.PermissionApp;
-import com.android.packageinstaller.permission.ui.OverlayTouchActivity;
+import com.android.packageinstaller.permission.ui.ReviewPermissionsActivity;
import com.android.packageinstaller.permission.utils.LocationUtils;
import com.android.packageinstaller.permission.utils.SafetyNetLogger;
import com.android.packageinstaller.permission.utils.Utils;
@@ -53,7 +54,7 @@ import com.android.packageinstaller.permission.utils.Utils;
import java.util.ArrayList;
import java.util.List;
-public final class PermissionAppsFragment extends PermissionsFrameFragment implements Callback,
+public final class PermissionAppsFragment extends SettingsWithHeader implements Callback,
OnPreferenceChangeListener {
private static final int MENU_SHOW_SYSTEM = Menu.FIRST;
@@ -150,29 +151,12 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple
bindUi(this, mPermissionApps);
}
- private static void bindUi(Fragment fragment, PermissionApps permissionApps) {
+ private static void bindUi(SettingsWithHeader fragment, PermissionApps permissionApps) {
final Drawable icon = permissionApps.getIcon();
final CharSequence label = permissionApps.getLabel();
- final ActionBar ab = fragment.getActivity().getActionBar();
- if (ab != null) {
- ab.setTitle(fragment.getString(R.string.permission_title, label));
- }
- final ViewGroup rootView = (ViewGroup) fragment.getView();
- final ImageView iconView = (ImageView) rootView.findViewById(R.id.lb_icon);
- if (iconView != null) {
- // Set the icon as the background instead of the image because ImageView
- // doesn't properly scale vector drawables beyond their intrinsic size
- iconView.setBackground(icon);
- }
- final TextView titleView = (TextView) rootView.findViewById(R.id.lb_title);
- if (titleView != null) {
- titleView.setText(label);
- }
- final TextView breadcrumbView = (TextView) rootView.findViewById(R.id.lb_breadcrumb);
- if (breadcrumbView != null) {
- breadcrumbView.setText(R.string.app_permissions);
- }
+ fragment.setHeader(null, null, null,
+ fragment.getString(R.string.permission_apps_decor_title, label));
}
private void setOnPermissionsLoadedListener(Callback callback) {
@@ -271,7 +255,8 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple
@Override
public boolean onPreferenceClick(Preference preference) {
SystemAppsFragment frag = new SystemAppsFragment();
- setPermissionName(frag, getArguments().getString(Intent.EXTRA_PERMISSION_NAME));
+ setPermissionName(frag, getArguments().getString(
+ Intent.EXTRA_PERMISSION_NAME));
frag.setTargetFragment(PermissionAppsFragment.this, 0);
getFragmentManager().beginTransaction()
.replace(android.R.id.content, frag)
@@ -321,19 +306,21 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple
return false;
}
- OverlayTouchActivity activity = (OverlayTouchActivity) getActivity();
- if (activity.isObscuredTouch()) {
- activity.showOverlayDialog();
+ if (LocationUtils.isLocationGroupAndProvider(mPermissionApps.getGroupName(),
+ app.getPackageName())) {
+ LocationUtils.showLocationDialog(getContext(), app.getLabel());
return false;
}
addToggledGroup(app.getPackageName(), app.getPermissionGroup());
- if (LocationUtils.isLocationGroupAndProvider(mPermissionApps.getGroupName(),
- app.getPackageName())) {
- LocationUtils.showLocationDialog(getContext(), app.getLabel());
+ if (app.isReviewRequired()) {
+ Intent intent = new Intent(getActivity(), ReviewPermissionsActivity.class);
+ intent.putExtra(Intent.EXTRA_PACKAGE_NAME, app.getPackageName());
+ startActivity(intent);
return false;
}
+
if (newValue == Boolean.TRUE) {
app.grantRuntimePermissions();
} else {
@@ -343,7 +330,7 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple
.setMessage(grantedByDefault ? R.string.system_warning
: R.string.old_sdk_deny_warning)
.setNegativeButton(R.string.cancel, null)
- .setPositiveButton(R.string.grant_dialog_button_deny,
+ .setPositiveButton(R.string.grant_dialog_button_deny_anyway,
new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
@@ -394,7 +381,7 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple
}
}
- public static class SystemAppsFragment extends PermissionsFrameFragment implements Callback {
+ public static class SystemAppsFragment extends SettingsWithHeader implements Callback {
PermissionAppsFragment mOuterFragment;
@Override
@@ -421,6 +408,14 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple
bindUi(this, permissionApps);
}
+
+ private static void bindUi(SettingsWithHeader fragment, PermissionApps permissionApps) {
+ final CharSequence label = permissionApps.getLabel();
+ fragment.setHeader(null, null, null,
+ fragment.getString(R.string.system_apps_decor_title, label));
+ }
+
+
@Override
public void onPermissionsLoaded(PermissionApps permissionApps) {
setPreferenceScreen();
diff --git a/src/com/android/packageinstaller/permission/ui/television/PermissionsFrameFragment.java b/src/com/android/packageinstaller/permission/ui/television/PermissionsFrameFragment.java
index e81aee86..6119f98c 100644
--- a/src/com/android/packageinstaller/permission/ui/television/PermissionsFrameFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/television/PermissionsFrameFragment.java
@@ -22,7 +22,6 @@ import android.support.v14.preference.PreferenceFragment;
import android.support.v17.leanback.widget.VerticalGridView;
import android.support.v7.preference.PreferenceScreen;
import android.support.v7.widget.RecyclerView;
-import android.support.v7.widget.RecyclerView.AdapterDataObserver;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -30,19 +29,19 @@ import android.view.animation.Animation;
import android.view.animation.Animation.AnimationListener;
import android.view.animation.AnimationUtils;
import android.widget.TextView;
-
import com.android.packageinstaller.DeviceUtils;
import com.android.packageinstaller.R;
-import com.android.packageinstaller.permission.utils.Utils;
public abstract class PermissionsFrameFragment extends PreferenceFragment {
- private static final float WINDOW_ALIGNMENT_OFFSET_PERCENT = 50;
+ // Key identifying the preference used on TV as the extra header in a permission fragment.
+ // This is to distinguish it from the rest of the preferences
+ protected static final String HEADER_PREFERENCE_KEY = "HeaderPreferenceKey";
private ViewGroup mPreferencesContainer;
- // TV-specific instance variables
- @Nullable private VerticalGridView mGridView;
+ // TV-specific instance variable
+ @Nullable private RecyclerView mGridView;
private View mLoadingView;
private ViewGroup mPrefsView;
@@ -74,7 +73,7 @@ public abstract class PermissionsFrameFragment extends PreferenceFragment {
}
@Override
- public void onCreatePreferences(@Nullable Bundle savedInstanceState, String rootKey) {
+ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
PreferenceScreen preferences = getPreferenceScreen();
if (preferences == null) {
preferences = getPreferenceManager().createPreferenceScreen(getActivity());
@@ -133,18 +132,13 @@ public abstract class PermissionsFrameFragment extends PreferenceFragment {
@Override
public RecyclerView onCreateRecyclerView(LayoutInflater inflater, ViewGroup parent,
- Bundle savedInstanceState) {
- if (DeviceUtils.isTelevision(getContext())) {
- mGridView = (VerticalGridView) inflater.inflate(
- R.layout.leanback_preferences_list, parent, false);
- mGridView.setWindowAlignmentOffset(0);
- mGridView.setWindowAlignmentOffsetPercent(WINDOW_ALIGNMENT_OFFSET_PERCENT);
- mGridView.setWindowAlignment(VerticalGridView.WINDOW_ALIGN_NO_EDGE);
- mGridView.setFocusScrollStrategy(VerticalGridView.FOCUS_SCROLL_ALIGNED);
- return mGridView;
- } else {
- return super.onCreateRecyclerView(inflater, parent, savedInstanceState);
- }
+ Bundle savedInstanceState) {
+ VerticalGridView verticalGridView = (VerticalGridView) inflater.inflate(
+ R.layout.leanback_preferences_list, parent, false);
+ verticalGridView.setWindowAlignment(VerticalGridView.WINDOW_ALIGN_BOTH_EDGE);
+ verticalGridView.setFocusScrollStrategy(VerticalGridView.FOCUS_SCROLL_ALIGNED);
+ mGridView = verticalGridView;
+ return mGridView;
}
@Override
@@ -155,7 +149,7 @@ public abstract class PermissionsFrameFragment extends PreferenceFragment {
final TextView emptyView = (TextView) getView().findViewById(R.id.no_permissions);
onSetEmptyText(emptyView);
final RecyclerView recyclerView = getListView();
- adapter.registerAdapterDataObserver(new AdapterDataObserver() {
+ adapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() {
@Override
public void onChanged() {
checkEmpty();
@@ -172,18 +166,20 @@ public abstract class PermissionsFrameFragment extends PreferenceFragment {
}
private void checkEmpty() {
- boolean isEmpty = adapter.getItemCount() == 0;
+ boolean isEmpty = isPreferenceListEmpty();
emptyView.setVisibility(isEmpty ? View.VISIBLE : View.GONE);
- recyclerView.setVisibility(isEmpty ? View.GONE : View.VISIBLE);
+ recyclerView.setVisibility(isEmpty && adapter.getItemCount() == 0 ?
+ View.GONE : View.VISIBLE);
if (!isEmpty && mGridView != null) {
mGridView.requestFocus();
}
}
});
- boolean isEmpty = adapter.getItemCount() == 0;
+ boolean isEmpty = isPreferenceListEmpty();
emptyView.setVisibility(isEmpty ? View.VISIBLE : View.GONE);
- recyclerView.setVisibility(isEmpty ? View.GONE : View.VISIBLE);
+ recyclerView.setVisibility(isEmpty && adapter.getItemCount() == 0 ?
+ View.GONE : View.VISIBLE);
if (!isEmpty && mGridView != null) {
mGridView.requestFocus();
}
@@ -192,6 +188,13 @@ public abstract class PermissionsFrameFragment extends PreferenceFragment {
return adapter;
}
+ private boolean isPreferenceListEmpty() {
+ PreferenceScreen screen = getPreferenceScreen();
+ return screen.getPreferenceCount() == 0 || (
+ screen.getPreferenceCount() == 1 &&
+ (screen.findPreference(HEADER_PREFERENCE_KEY) != null));
+ }
+
/**
* Hook for subclasses to change the default text of the empty view.
* Base implementation leaves the default empty view text.
@@ -201,4 +204,3 @@ public abstract class PermissionsFrameFragment extends PreferenceFragment {
protected void onSetEmptyText(TextView textView) {
}
}
-
diff --git a/src/com/android/packageinstaller/permission/ui/television/SettingsWithHeader.java b/src/com/android/packageinstaller/permission/ui/television/SettingsWithHeader.java
index 4dae629c..06f7c142 100644
--- a/src/com/android/packageinstaller/permission/ui/television/SettingsWithHeader.java
+++ b/src/com/android/packageinstaller/permission/ui/television/SettingsWithHeader.java
@@ -25,10 +25,8 @@ import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
-
import com.android.packageinstaller.DeviceUtils;
import com.android.packageinstaller.R;
-import com.android.packageinstaller.permission.utils.Utils;
public abstract class SettingsWithHeader extends PermissionsFrameFragment
implements OnClickListener {
@@ -37,50 +35,40 @@ public abstract class SettingsWithHeader extends PermissionsFrameFragment
protected Intent mInfoIntent;
protected Drawable mIcon;
protected CharSequence mLabel;
+ protected CharSequence mDecorTitle;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
ViewGroup root = (ViewGroup) super.onCreateView(inflater, container, savedInstanceState);
- if (!DeviceUtils.isTelevision(getContext())) {
- mHeader = inflater.inflate(R.layout.header, root, false);
- getPreferencesContainer().addView(mHeader, 0);
- updateHeader();
- }
+ mHeader = inflater.inflate(R.layout.header, root, false);
+ getPreferencesContainer().addView(mHeader, 0);
+ updateHeader();
return root;
}
- public void setHeader(Drawable icon, CharSequence label, Intent infoIntent) {
+ public void setHeader(Drawable icon, CharSequence label, Intent infoIntent,
+ CharSequence decorTitle) {
mIcon = icon;
mLabel = label;
mInfoIntent = infoIntent;
+ mDecorTitle = decorTitle;
updateHeader();
}
- private void updateHeader() {
- if (mHeader != null) {
- final ImageView appIcon = (ImageView) mHeader.findViewById(R.id.icon);
- appIcon.setImageDrawable(mIcon);
-
- final TextView appName = (TextView) mHeader.findViewById(R.id.name);
- appName.setText(mLabel);
+ public View getHeader() {
+ return mHeader;
+ }
- final View info = mHeader.findViewById(R.id.info);
- if (mInfoIntent == null) {
- info.setVisibility(View.GONE);
- } else {
- info.setVisibility(View.VISIBLE);
- info.setClickable(true);
- info.setOnClickListener(this);
- }
- }
+ protected void updateHeader() {
+ final TextView decorTitle = (TextView) mHeader.findViewById(R.id.decor_title);
+ decorTitle.setText(mDecorTitle);
}
@Override
public void onClick(View v) {
getActivity().startActivity(mInfoIntent);
}
-
}
diff --git a/src/com/android/packageinstaller/permission/ui/wear/AppPermissionsFragmentWear.java b/src/com/android/packageinstaller/permission/ui/wear/AppPermissionsFragmentWear.java
index aba97fc8..db1c94d8 100644
--- a/src/com/android/packageinstaller/permission/ui/wear/AppPermissionsFragmentWear.java
+++ b/src/com/android/packageinstaller/permission/ui/wear/AppPermissionsFragmentWear.java
@@ -17,11 +17,9 @@
package com.android.packageinstaller.permission.ui.wear;
import android.Manifest;
-import android.annotation.Nullable;
import android.app.Activity;
import android.app.Fragment;
import android.content.Intent;
-import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
@@ -35,7 +33,6 @@ import android.widget.Toast;
import com.android.packageinstaller.R;
import com.android.packageinstaller.permission.model.AppPermissionGroup;
import com.android.packageinstaller.permission.model.AppPermissions;
-import com.android.packageinstaller.permission.ui.OverlayTouchActivity;
import com.android.packageinstaller.permission.ui.wear.settings.PermissionsSettingsAdapter;
import com.android.packageinstaller.permission.ui.wear.settings.SettingsAdapter;
import com.android.packageinstaller.permission.utils.LocationUtils;
@@ -120,22 +117,22 @@ public final class AppPermissionsFragmentWear extends TitledSettingsFragment {
}
@Override
- public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
+ public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
if (mAppPermissions != null) {
initializeLayout(mAdapter);
- bindHeader(mAppPermissions.getPackageInfo());
+ mHeader.setText(R.string.app_permissions);
+ mDetails.setText(R.string.no_permissions);
+ if (mAdapter.getItemCount() == 0) {
+ mDetails.setVisibility(View.VISIBLE);
+ mWheel.setVisibility(View.GONE);
+ } else {
+ mDetails.setVisibility(View.GONE);
+ mWheel.setVisibility(View.VISIBLE);
+ }
}
}
- private void bindHeader(PackageInfo packageInfo) {
- Activity activity = getActivity();
- PackageManager pm = activity.getPackageManager();
- ApplicationInfo appInfo = packageInfo.applicationInfo;
- CharSequence label = appInfo.loadLabel(pm);
- mHeader.setText(label);
- }
-
private void initializePermissionGroupList() {
final String packageName = mAppPermissions.getPackageInfo().packageName;
List<AppPermissionGroup> groups = mAppPermissions.getPermissionGroups();
@@ -197,12 +194,6 @@ public final class AppPermissionsFragmentWear extends TitledSettingsFragment {
return;
}
- OverlayTouchActivity activity = (OverlayTouchActivity) getActivity();
- if (activity.isObscuredTouch()) {
- activity.showOverlayDialog();
- return;
- }
-
addToggledGroup(group);
if (LocationUtils.isLocationGroupAndProvider(group.getName(), group.getApp().packageName)) {
diff --git a/src/com/android/packageinstaller/permission/ui/wear/TitledSettingsFragment.java b/src/com/android/packageinstaller/permission/ui/wear/TitledSettingsFragment.java
index ef7efb28..b673a498 100644
--- a/src/com/android/packageinstaller/permission/ui/wear/TitledSettingsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/wear/TitledSettingsFragment.java
@@ -28,7 +28,7 @@ import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowInsets;
-import android.widget.FrameLayout;
+import android.widget.LinearLayout;
import android.widget.TextView;
import com.android.packageinstaller.permission.ui.wear.settings.ViewUtils;
@@ -46,6 +46,7 @@ public abstract class TitledSettingsFragment extends Fragment implements
private int mInitialHeaderHeight;
protected TextView mHeader;
+ protected TextView mDetails;
protected WearableListView mWheel;
private int mCharLimitShortTitle;
@@ -114,6 +115,9 @@ public abstract class TitledSettingsFragment extends Fragment implements
mHeader.addOnLayoutChangeListener(this);
mHeader.addTextChangedListener(mHeaderTextWatcher);
+ mDetails = (TextView) v.findViewById(R.id.details);
+ mDetails.addOnLayoutChangeListener(this);
+
mWheel.setAdapter(adapter);
mWheel.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
@@ -134,13 +138,14 @@ public abstract class TitledSettingsFragment extends Fragment implements
adjustHeaderSize();
- positionOnCircular(getContext(), mHeader, mWheel);
+ positionOnCircular(getContext(), mHeader, mDetails, mWheel);
}
- public void positionOnCircular(Context context, View header, final ViewGroup wheel) {
+ public void positionOnCircular(Context context, View header, View details,
+ final ViewGroup wheel) {
if (ViewUtils.getIsCircular(context)) {
- FrameLayout.LayoutParams params =
- (FrameLayout.LayoutParams) header.getLayoutParams();
+ LinearLayout.LayoutParams params =
+ (LinearLayout.LayoutParams) header.getLayoutParams();
params.topMargin = (int) context.getResources().getDimension(
R.dimen.settings_header_top_margin_circular);
// Note that the margins are made symmetrical here. Since they're symmetrical we choose
@@ -152,10 +157,14 @@ public abstract class TitledSettingsFragment extends Fragment implements
params.rightMargin = margin;
params.gravity = Gravity.CENTER_HORIZONTAL;
header.setLayoutParams(params);
+ details.setLayoutParams(params);
if (header instanceof TextView) {
((TextView) header).setGravity(Gravity.CENTER);
}
+ if (details instanceof TextView) {
+ ((TextView) details).setGravity(Gravity.CENTER);
+ }
final int leftPadding = (int) context.getResources().getDimension(
R.dimen.round_content_padding_left);
@@ -209,7 +218,7 @@ public abstract class TitledSettingsFragment extends Fragment implements
}
mHeader.setMinHeight((int) height);
- FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) mHeader.getLayoutParams();
+ LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) mHeader.getLayoutParams();
final Context context = getContext();
if (!singleLine) {
// Make the top margin a little bit smaller so there is more space for the title.
diff --git a/src/com/android/packageinstaller/permission/ui/wear/WarningConfirmationActivity.java b/src/com/android/packageinstaller/permission/ui/wear/WarningConfirmationActivity.java
index 03713419..0800c14c 100644
--- a/src/com/android/packageinstaller/permission/ui/wear/WarningConfirmationActivity.java
+++ b/src/com/android/packageinstaller/permission/ui/wear/WarningConfirmationActivity.java
@@ -66,7 +66,7 @@ public final class WarningConfirmationActivity extends Activity {
@Override
public CharSequence getVerticalButton2Text() {
- return getString(R.string.grant_dialog_button_deny);
+ return getString(R.string.grant_dialog_button_deny_anyway);
}
@Override
diff --git a/src/com/android/packageinstaller/permission/utils/ArrayUtils.java b/src/com/android/packageinstaller/permission/utils/ArrayUtils.java
new file mode 100644
index 00000000..4b7a3947
--- /dev/null
+++ b/src/com/android/packageinstaller/permission/utils/ArrayUtils.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.packageinstaller.permission.utils;
+
+import java.util.Objects;
+
+public final class ArrayUtils {
+ private ArrayUtils() { /* cannot be instantiated */ }
+
+ /**
+ * Checks that value is present as at least one of the elements of the array.
+ * @param array the array to check in
+ * @param value the value to check for
+ * @return true if the value is present in the array
+ */
+ public static <T> boolean contains(T[] array, T value) {
+ return indexOf(array, value) != -1;
+ }
+
+ /**
+ * Return first index of {@code value} in {@code array}, or {@code -1} if
+ * not found.
+ */
+ public static <T> int indexOf(T[] array, T value) {
+ if (array == null) return -1;
+ for (int i = 0; i < array.length; i++) {
+ if (Objects.equals(array[i], value)) return i;
+ }
+ return -1;
+ }
+}
diff --git a/src/com/android/packageinstaller/permission/utils/IoUtils.java b/src/com/android/packageinstaller/permission/utils/IoUtils.java
new file mode 100644
index 00000000..ff7d1831
--- /dev/null
+++ b/src/com/android/packageinstaller/permission/utils/IoUtils.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.packageinstaller.permission.utils;
+
+public final class IoUtils {
+ private IoUtils() {
+ }
+
+ /**
+ * Closes 'closeable', ignoring any checked exceptions. Does nothing if 'closeable' is null.
+ */
+ public static void closeQuietly(AutoCloseable closeable) {
+ if (closeable != null) {
+ try {
+ closeable.close();
+ } catch (RuntimeException rethrown) {
+ throw rethrown;
+ } catch (Exception ignored) {
+ }
+ }
+ }
+}
diff --git a/src/com/android/packageinstaller/permission/utils/Utils.java b/src/com/android/packageinstaller/permission/utils/Utils.java
index 21830378..22663e13 100644
--- a/src/com/android/packageinstaller/permission/utils/Utils.java
+++ b/src/com/android/packageinstaller/permission/utils/Utils.java
@@ -22,7 +22,6 @@ import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
-import android.content.res.Configuration;
import android.content.res.Resources;
import android.content.res.Resources.Theme;
import android.graphics.drawable.Drawable;
@@ -36,7 +35,7 @@ import com.android.packageinstaller.permission.model.PermissionApps.PermissionAp
import java.util.List;
-public class Utils {
+public final class Utils {
private static final String LOG_TAG = "Utils";
diff --git a/src/com/android/packageinstaller/wear/WearPackageArgs.java b/src/com/android/packageinstaller/wear/WearPackageArgs.java
index 67051da0..da49192a 100644
--- a/src/com/android/packageinstaller/wear/WearPackageArgs.java
+++ b/src/com/android/packageinstaller/wear/WearPackageArgs.java
@@ -25,6 +25,8 @@ import android.os.Bundle;
* installing/uninstalling.
*/
public class WearPackageArgs {
+ private static final String KEY_PACKAGE_NAME =
+ "com.google.android.clockwork.EXTRA_PACKAGE_NAME";
private static final String KEY_ASSET_URI =
"com.google.android.clockwork.EXTRA_ASSET_URI";
private static final String KEY_START_ID =
@@ -45,16 +47,16 @@ public class WearPackageArgs {
"com.google.android.clockwork.EXTRA_KEY_SHOULD_CHECK_GMS_DEPENDENCY";
public static String getPackageName(Bundle b) {
- return b.getString(Intent.EXTRA_INSTALLER_PACKAGE_NAME);
+ return b.getString(KEY_PACKAGE_NAME);
}
- public static Uri getAssetUri(Bundle b) {
- return b.getParcelable(KEY_ASSET_URI);
+ public static Bundle setPackageName(Bundle b, String packageName) {
+ b.putString(KEY_PACKAGE_NAME, packageName);
+ return b;
}
- public static Bundle setAssetUri(Bundle b, Uri assetUri) {
- b.putParcelable(KEY_ASSET_URI, assetUri);
- return b;
+ public static Uri getAssetUri(Bundle b) {
+ return b.getParcelable(KEY_ASSET_URI);
}
public static Uri getPermUri(Bundle b) {
diff --git a/src/com/android/packageinstaller/wear/WearPackageInstallerService.java b/src/com/android/packageinstaller/wear/WearPackageInstallerService.java
index 3874c0a4..7387ed2a 100644
--- a/src/com/android/packageinstaller/wear/WearPackageInstallerService.java
+++ b/src/com/android/packageinstaller/wear/WearPackageInstallerService.java
@@ -66,13 +66,18 @@ import java.util.Set;
*
* Install Action example:
* adb shell am startservice -a com.android.packageinstaller.wear.INSTALL_PACKAGE \
- * -t vnd.android.cursor.item/wearable_apk \
- * -d content://com.google.android.clockwork.home.provider/host/com.google.android.wearable.app/wearable/com.google.android.gms/apk \
+ * -d package://com.google.android.gms \
+ * --eu com.google.android.clockwork.EXTRA_ASSET_URI content://com.google.android.clockwork.home.provider/host/com.google.android.wearable.app/wearable/com.google.android.gms/apk \
* --es android.intent.extra.INSTALLER_PACKAGE_NAME com.google.android.gms \
* --ez com.google.android.clockwork.EXTRA_CHECK_PERMS false \
* --eu com.google.android.clockwork.EXTRA_PERM_URI content://com.google.android.clockwork.home.provider/host/com.google.android.wearable.app/permissions \
* com.android.packageinstaller/com.android.packageinstaller.wear.WearPackageInstallerService
*
+ * Uninstall Action example:
+ * adb shell am startservice -a com.android.packageinstaller.wear.UNINSTALL_PACKAGE \
+ * -d package://com.google.android.gms \
+ * com.android.packageinstaller/com.android.packageinstaller.wear.WearPackageInstallerService
+ *
* Retry GMS:
* adb shell am startservice -a com.android.packageinstaller.wear.RETRY_GMS \
* com.android.packageinstaller/com.android.packageinstaller.wear.WearPackageInstallerService
@@ -141,29 +146,49 @@ public class WearPackageInstallerService extends Service {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (!DeviceUtils.isWear(this)) {
- Log.w(TAG, "Not running on wearable");
+ Log.w(TAG, "Not running on wearable.");
+ return START_NOT_STICKY;
+ }
+
+ if (intent == null) {
+ Log.w(TAG, "Got null intent.");
return START_NOT_STICKY;
}
+
+ if (Log.isLoggable(TAG, Log.DEBUG)) {
+ Log.d(TAG, "Got install/uninstall request " + intent);
+ }
+
+ Uri packageUri = intent.getData();
+ if (packageUri == null) {
+ Log.e(TAG, "No package URI in intent");
+ return START_NOT_STICKY;
+ }
+ final String packageName = WearPackageUtil.getSanitizedPackageName(packageUri);
+ if (packageName == null) {
+ Log.e(TAG, "Invalid package name in URI (expected package:<pkgName>): " + packageUri);
+ return START_NOT_STICKY;
+ }
+
PowerManager.WakeLock lock = getLock(this.getApplicationContext());
if (!lock.isHeld()) {
lock.acquire();
}
- if (Log.isLoggable(TAG, Log.DEBUG)) {
- Log.d(TAG, "Got install/uninstall request " + intent);
+
+ Bundle intentBundle = intent.getExtras();
+ if (intentBundle == null) {
+ intentBundle = new Bundle();
}
- if (intent != null) {
- Bundle intentBundle = intent.getExtras();
- WearPackageArgs.setStartId(intentBundle, startId);
- if (Intent.ACTION_INSTALL_PACKAGE.equals(intent.getAction())) {
- final Message msg = mServiceHandler.obtainMessage(START_INSTALL);
- WearPackageArgs.setAssetUri(intentBundle, intent.getData());
- msg.setData(intentBundle);
- mServiceHandler.sendMessage(msg);
- } else if (Intent.ACTION_UNINSTALL_PACKAGE.equals(intent.getAction())) {
- Message msg = mServiceHandler.obtainMessage(START_UNINSTALL);
- msg.setData(intentBundle);
- mServiceHandler.sendMessage(msg);
- }
+ WearPackageArgs.setStartId(intentBundle, startId);
+ WearPackageArgs.setPackageName(intentBundle, packageName);
+ if (Intent.ACTION_INSTALL_PACKAGE.equals(intent.getAction())) {
+ Message msg = mServiceHandler.obtainMessage(START_INSTALL);
+ msg.setData(intentBundle);
+ mServiceHandler.sendMessage(msg);
+ } else if (Intent.ACTION_UNINSTALL_PACKAGE.equals(intent.getAction())) {
+ Message msg = mServiceHandler.obtainMessage(START_UNINSTALL);
+ msg.setData(intentBundle);
+ mServiceHandler.sendMessage(msg);
}
return START_NOT_STICKY;
}
diff --git a/src/com/android/packageinstaller/wear/WearPackageUtil.java b/src/com/android/packageinstaller/wear/WearPackageUtil.java
index 688d6167..e340d627 100644
--- a/src/com/android/packageinstaller/wear/WearPackageUtil.java
+++ b/src/com/android/packageinstaller/wear/WearPackageUtil.java
@@ -16,11 +16,11 @@
package com.android.packageinstaller.wear;
-import android.annotation.Nullable;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageParser;
+import android.net.Uri;
import android.os.ParcelFileDescriptor;
import android.system.ErrnoException;
import android.system.Os;
@@ -86,7 +86,7 @@ public class WearPackageUtil {
* decompress it here
*/
public static File getFileFromFd(Context context, ParcelFileDescriptor fd,
- String packageName, @Nullable String compressionAlg) {
+ String packageName, String compressionAlg) {
File newFile = getTemporaryFile(context, packageName);
if (fd == null || fd.getFileDescriptor() == null) {
return null;
@@ -164,4 +164,16 @@ public class WearPackageUtil {
+ " for " + wearablePackageName);
context.startService(newIntent);
}
+
+ /**
+ * @return com.google.com from expected formats like
+ * Uri: package:com.google.com, package:/com.google.com, package://com.google.com
+ */
+ public static String getSanitizedPackageName(Uri packageUri) {
+ String packageName = packageUri.getEncodedSchemeSpecificPart();
+ if (packageName != null) {
+ return packageName.replaceAll("^/+", "");
+ }
+ return packageName;
+ }
}